我有两个不同的档案。一个包含GUI代码,另一个包含程序的逻辑。 GUI部分:
import sys
from PyQt5 import QtCore
from PyQt5.QtWidgets import (QApplication, QPushButton, QMainWindow, QLabel, QDesktopWidget, QListWidget)
from PyQt5.QtGui import QFont
import logic
class Program(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.first_list = QListWidget(self)
self.first_list.setGeometry(15, 35, 140, 42)
add_to_list_button = QPushButton('Add', self)
add_to_list_button.setGeometry(165, 35, 30, 20)
add_to_list_button.clicked.connect(lambda: logic.addToList(self))
self.second_list = QListWidget(self)
self.second_list.setGeometry(205, 35, 140, 192)
for i in range(30):
self.second_list.addItem(logic.list_one[i][3])
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Program()
sys.exit(app.exec_())
逻辑部分:
^{pr2}$但是当我运行这个程序时,我得到了QWidget:必须在QWidget错误之前构造一个QApplication。将from PyQt5.QtWidgets import (QApplication, etc.)
添加到逻辑中没有帮助。密码怎么了?在
注意,当您从主程序
import logic
运行时,logic
模块中的prog = gui.Program()
是如何运行的这意味着您要创建一个
Program
实例,在您的__main__
中创建QApplication之前创建大量的QWidgets因此,在您的逻辑模块中:
prog = gui.Program()
addToList()
函数,将Program
实例作为参数,而不是引用全局变量相关问题 更多 >
编程相关推荐