[英]python tkinter open new window with button click and close first window
[英]How to open a new window with a button click in python?
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.uic import *
class new1(QDialog):
def __init__(self):
super(new1, self).__init__()
loadUi('gui.ui',self)
self.setWindowTitle("New Window")
self.pushButton.clicked.connect(self.clicked1)
def clicked1(self):
loadUi('gui2.ui',self)
app=QApplication(sys.argv)
widget=new1()
widget.show()
sys.exit(app.exec_())
单击按钮时,我想打开“ gui2.ui”。此代码不起作用。有帮助吗?
你需要你的Qt Designer文件转换为Python文件,要做到这一点,你可以使用命令行命令pyuic5
的UI文件和pyrcc5
的RC文件。
要将ui文件转换为Python:
pyuic5 --import-from=widgets -x your_file.ui -o your_file.py
要将rc文件转换为Python:
pyrcc5 your_file.rc -o your_file.py
转换完文件后,请勿直接修改它们,因为如果您对UI进行更改,可以重新生成它们,以使用它们并从它们继承:
class Gui2Dialog(Ui_Gui2, QDialog):
def __init__(self):
Ui_Gui2.__init__(self)
QDialog.__init__(self)
self.setupUi(self)
self.setWindowTitle("Gui 2")
class GuiDialog(Ui_Gui, QDialog):
def __init__(self):
Ui_Gui.__init__(self)
QDialog.__init__(self)
self.setupUi(self)
self.setWindowTitle("New Window")
self.pushButton.clicked.connect(self.clicked1)
def clicked1(self):
gui2_dialog = Gui2Dialog()
gui2_dialog.exec_()
gui2_dialog.show()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.