我正在尝试显示一个窗口,我想在其中输入一些参数,但是该窗口为空并在函数结束后立即关闭。
有人可以告诉我代码中的错误吗? (我尝试使用QApplication,但我的软件(QGIS)崩溃了)
这是我的代码:
import sys
import time
from PyQt5 import QtCore, QtWidgets
from PyQt5.QtWidgets import QMainWindow, QWidget, QLabel, QLineEdit
from PyQt5.QtWidgets import QPushButton
from PyQt5.QtCore import QSize
class MainWindow(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
#...
self.setMinimumSize(QSize(320, 140))
self.setWindowTitle("Test")
#...
self.label_1 = QLabel(self)
self.label_1.setText('Numéro du département étudié :')
self.line_1 = QLineEdit(self)
#...
self.line_1.move(100, 20)
self.line_1.resize(200, 32)
self.label_1.move(40, 20)
#...
self.label_2 = QLabel(self)
self.label_2.setText('Nombre de points de départ :')
self.line_2 = QLineEdit(self)
#...
self.line_2.move(100, 60)
self.line_2.resize(200, 32)
self.label_2.move(40, 60)
#...
self.label_3 = QLabel(self)
self.label_3.setText("Chemin d'accès jusqu'a la liste des départements : (doit finir par un '/')")
self.line_3 = QLineEdit(self)
#...
self.line_3.move(100, 100)
self.line_3.resize(200, 32)
self.label_3.move(40, 100)
#...
pybutton = QPushButton('Valider ma saisie', self)
pybutton.clicked.connect(self.clickMethod)
pybutton.clicked.connect(self.close)
pybutton.resize(200,32)
pybutton.move(80, 140)
#...
def clickMethod(self):
params = []
params.append(self.line_1.text())
params.append(self.line_2.text())
params.append(self.line_3.text())
#...
def start(self):
mainWin = MainWindow()
mainWin.show()
答案 0 :(得分:0)
在创建owner = Owner.objects.filter(nickname='hide').first()
owner2 = Owner.objects.filter(nickname='john').first()
owner.relationships_set.create(target_owner=owner2)
之前必须先创建QApplication
。
导入:
QWidget
创建应用程序:
from PyQt5.QtWidgets import QApplication
您的整个代码将是:
if __name__ == '__main__':
app = QApplication(sys.argv)
mw = MainWindow()
mw.show()
sys.exit(app.exec_())