我是新手Python GUI编程,我在制作GUI应用程序时遇到了麻烦。我有一个只有一个按钮部件的主窗口。我想知道的是,如何在事件发生时(例如按钮单击)用新窗口替换现有窗口。
一个类似问题的答案在这里 Replace CentralWidget in MainWindow,建议使用QStackedWidgets,但他们没有使用Qt Designer制作GUI应用程序,而我有两个.py文件,一个是主窗口文件,另一个是我想要在按钮按下后显示的窗口文件,因此我不知道如何将这两个文件合并到我的main.py文件中。 例如,我的主窗口如下所示:
![Main Window](https://istack.dev59.com/soSsW.webp)
点击按钮后,它应该用以下内容替换现有窗口:
![New Window](https://istack.dev59.com/jmgk4.webp)
我还想知道第二个窗口应该是QStackedWindow、QDialog还是QWidget类型?
以下是我的main.py代码
一个类似问题的答案在这里 Replace CentralWidget in MainWindow,建议使用QStackedWidgets,但他们没有使用Qt Designer制作GUI应用程序,而我有两个.py文件,一个是主窗口文件,另一个是我想要在按钮按下后显示的窗口文件,因此我不知道如何将这两个文件合并到我的main.py文件中。 例如,我的主窗口如下所示:
![Main Window](https://istack.dev59.com/soSsW.webp)
点击按钮后,它应该用以下内容替换现有窗口:
![New Window](https://istack.dev59.com/jmgk4.webp)
我还想知道第二个窗口应该是QStackedWindow、QDialog还是QWidget类型?
以下是我的main.py代码
from PyQt4 import QtGui
import sys
import design, design1
import os
class ExampleApp(QtGui.QMainWindow, design.Ui_MainWindow):
def __init__(self, parent=None):
super(ExampleApp, self).__init__(parent)
self.setupUi(self)
self.btnBrowse.clicked.connect(self.doSomething)
def doSomething(self):
# Code to replace the main window with a new window
pass
def main():
app = QtGui.QApplication(sys.argv)
form = ExampleApp()
form.show()
app.exec_()
if __name__ == '__main__':
main()