“Must construct a QApplication before a QPaintDevice” from QWidget

I’m afraid single file will not be enough in this situation – the execution flow is not clear just from this one module. The message in question usually appears when you try to use some resources/create some objects that require initialized QApplication – like QIcon, for example.

Instantiation of Qt-based GUI application usually looks like this:

if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)
    main_window = MainWindowClass()
    main_window.show()
    sys.exit(app.exec_())

Leave a Comment