Class inheritace issue - syntax error

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.

Packaging Python Applications with PyInstaller by Martin Fitzpatrick — This step-by-step guide walks you through packaging your own Python applications from simple examples to complete installers and signed executables.

More info Get the book

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.


Create GUI Applications with Python & Qt5 by Martin Fitzpatrick — (PyQt5 Edition) The hands-on guide to making apps with Python — Over 10,000 copies sold!

More info Get the book

Mark As Complete
Martin Fitzpatrick

Class inheritace issue - syntax error was written by Martin Fitzpatrick .

Martin Fitzpatrick has been developing Python/Qt apps for 8 years. Building desktop applications to make data-analysis tools more user-friendly, Python was the obvious choice. Starting with Tk, later moving to wxWidgets and finally adopting PyQt.