【问题标题】:QWidget: Must construct a QApplication before a QPaintDevice errorQWidget:必须在 QPaintDevice 错误之前构造一个 QApplication
【发布时间】:2014-08-19 09:42:14
【问题描述】:

我知道这已经回答了很多次了,但是由于我对 pyqt/python 完全陌生(现在只尝试了一周),我似乎无法在我的代码中实现任何这些解决方案。

import sys
from PyQt4.QtSql import *
from PyQt4 import QtCore, QtGui, uic

app = QtGui.QApplication(sys.argv)

class TestApp(QtGui.QWidget):
    def __init__(self):
        QtGui.QWidget.__init__(self)

        self.ui = uic.loadUi("C:\Python34\Lib\site-packages\PyQt4\BazaPodataka\database_GUI.ui")
        self.ui.show()


db = QSqlDatabase.addDatabase("QPSQL")
db.setHostName("localhost")
db.setDatabaseName("BP Za bolnicu")
db.setUserName("postgres")
db.setPassword("zanoktica")
db.setPort(5432)
ok = db.open()

if ok:
    print("Connected to database")
else:
    print("Error connecting to database")

if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)
    win = TestApp()
    sys.exit(app.exec_())

我知道我的代码一团糟,我正试图一次找出多个东西。我在 Qt 设计器中制作了一个 GUI,现在我正在尝试在我的主代码中实现它,以便我可以随意更改它,然后只实现较新的版本。

【问题讨论】:

    标签: python user-interface pyqt


    【解决方案1】:

    您正在创建一个 QApplication 两次。删除第一个实例化,移动第二个初始化下的sql调用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-10
      • 2013-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-02
      • 2023-03-12
      相关资源
      最近更新 更多