Sha*_*yad 6 python pyqt qt-designer
我是Python GUI编程的新手,制作GUI应用程序时遇到麻烦。我有一个仅带有按钮小部件的主窗口。我想知道的是,发生事件(例如单击按钮)时如何用新窗口替换现有窗口。
一个类似问题的答案在这里替换MainWindow中的CentralWidget,建议使用QStackedWidgets,但他们没有使用Qt Designer来制作其GUI应用程序,而我有两个.py文件,一个是主窗口文件,另一个是我想要的窗口在按下按钮后显示,因此我不知道如何在main.py文件中将两者结合起来。例如,我的主窗口如下所示:

在单击按钮后,应使用以下命令替换现有窗口:

我还想知道第二个窗口是否应为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()
Run Code Online (Sandbox Code Playgroud)
您可能不想实际创建和删除一堆窗口,但如果您确实想要,您可以这样做
def doSomething(self):
# Code to replace the main window with a new window
window = OtherWindow()
window.show()
self.close()
Run Code Online (Sandbox Code Playgroud)
OtherWindow班级里的
class OtherWindow(...):
...
def doSomething(self):
window = ExampleApp()
window.show()
self.close()
Run Code Online (Sandbox Code Playgroud)
你实际上可能不想这样做。QStackedWidget如果您只是创建 1 个主窗口,然后将不同的控件和小部件放在堆叠小部件的不同选项卡上,然后在同一窗口中在它们之间切换,那就更好了。
| 归档时间: |
|
| 查看次数: |
6960 次 |
| 最近记录: |