Python 从另一个GUI文件PyQT5打开GUI文件
我试图让我的GUI在启动时运行,当用户单击按钮时打开另一个GUI。因此,在我的启动文件中,我有:Python 从另一个GUI文件PyQT5打开GUI文件,python,user-interface,pyqt,pyqt5,Python,User Interface,Pyqt,Pyqt5,我试图让我的GUI在启动时运行,当用户单击按钮时打开另一个GUI。因此,在我的启动文件中,我有: class Startup(object): def setup_ui(self, Dialog): Dialog.setObjectName("Dialog") ... self.start_button = QtWidgets.QPushButton('', Dialog) self.start_button.clicked.connect
class Startup(object):
def setup_ui(self, Dialog):
Dialog.setObjectName("Dialog")
...
self.start_button = QtWidgets.QPushButton('', Dialog)
self.start_button.clicked.connect(self.start_program)
...
def start_program(self):
# segmentation = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
# sys.exit(segmentation.exec_())
...
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
Dialog = QtWidgets.QDialog()
ui = Startup()
ui.setup_ui(Dialog)
Dialog.show()
sys.exit(app.exec_( ))
我尝试启动的GUI的主文件如下所示:
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
font = QtGui.QFont("Times", 30, QtGui.QFont.Bold)
MainWindow.setObjectName("NBA Predictor")
MainWindow.resize(1150, 790)
self.centralwidget = QtWidgets.QWidget(MainWindow)
...
但是,当用户单击启动文件上的“开始”按钮时,主屏幕会打开大约1秒钟,然后立即关闭。我认为没有正确的退出命令是一个问题。但是,如果我取消对start_程序函数中的行的注释:
# segmentation = QtWidgets.QApplication(sys.argv)
及
当我点击开始按钮时,窗口会打开一秒钟,然后两个窗口都会关闭。有什么想法吗?这是因为Python GC。保存主窗口的引用,如:
self.mainWindow = QtWidgets.QMainWindow()
self.mainWindow.show()
self.mainWindow = QtWidgets.QMainWindow()
self.mainWindow.show()