Class inheritace issue - syntax error

Heads up! You've already completed this tutorial.

anneranch24425664 | 2020-07-29 10:43:38 UTC | #1

I am hacking existing python code - my first project. I am following a simple tutorial to add / make tab dialog.

Even after adding the "from ... import" ( not covered in tutorial ) to the module I keep getting "invalid syntax " .

I am using Linux / Eclipse /python3.7 and my hacked code, which uses PyQt5 generally works. .

python
from PyQt5 import QtWidgets
from PyQt5.QtWidgets import QApplication, QWidget, QInputDialog, QLineEdit, QPushButton, QLabel,QDialog
import sys

class TabDialog : public  QDialog
{
    Q_OBJECT

public:
    explicit TabDialog(const QString &fileName, QWidget *parent = nullptr);

private:
    QTabWidget *tabWidget;
    QDialogButtonBox *buttonBox;
};

  File "/media/z/DEV_COPY_LABEL/ECLIPSE_FOLDER/Eclispe_WORK_724/workspace/work_python_727/nanovna-saver_728/NanoVNASaver/Widgets/CCC_Widgets/CCC_TabDialogWidget.py", line 47
    class TabDialog : public  QDialog
                                    ^
SyntaxError: invalid syntax

The caret '^' is actually pointing / located under "public"


martin | 2020-07-29 10:46:36 UTC | #2

Hey @anneranch24425664 welcome to the forum.

The code you've posted contains C++ code which is invalid Python. For example the line it is complaining about

cpp
class TabDialog : public  QDialog

...would be...

python
class TabDialog(QDialog):

in Python. Everything after that (the public and private sections) are not required in Python so can be deleted completely.

Can you post a link to where you got the code from? It should be possible to convert it to Python.


Over 10,000 developers have bought Create GUI Applications with Python & Qt!

To support developers in [[ countryRegion ]] I give a [[ localizedDiscount[couponCode] ]]% discount with the code [[ couponCode ]] — Enjoy!

For [[ activeDiscount.description ]] I'm giving a [[ activeDiscount.discount ]]% discount with the code [[ couponCode ]] — Enjoy!

Well done, you've finished this tutorial! Mark As Complete
[[ user.completed.length ]] completed [[ user.streak+1 ]] day streak