QWidget:必须在QPaintDevice错误之前构造QApplication

时间:2014-08-18 22:07:16

标签: python user-interface pyqt

我知道这已经被回答了很多次,但由于我对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,现在我尝试在我的主代码中实现它,以便我可以随意更改它,然后只实现更新的版本。

1 个答案:

答案 0 :(得分:1)

您正在创建两次QApplication。删除第一个实例化并在第二个初始化

下移动sql调用