PyQT实现多窗口切换
2020-06-25 07:31:50 来源:易采站长站 作者:易采站长站整理
return s
try:
_encoding = QtGui.QApplication.UnicodeUTF8
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
class Dialog2(object):
def setupUi(self, Dialog):
Dialog.setObjectName(_fromUtf8("Dialog"))
Dialog.resize(400, 300)
self.form = Dialog
self.label = QtGui.QLabel(Dialog)
self.label.setGeometry(QtCore.QRect(180, 60, 54, 12))
self.label.setObjectName(_fromUtf8("label"))
self.pushButton = QtGui.QPushButton(Dialog)
self.pushButton.setGeometry(QtCore.QRect(160, 140, 75, 23))
self.pushButton.setObjectName(_fromUtf8("pushButton"))
self.retranslateUi(Dialog)
QtCore.QMetaObject.connectSlotsByName(Dialog)
#信号连接到指定槽
self.pushButton.clicked.connect(self.on_pushButton_clicked)
def retranslateUi(self, Dialog):
Dialog.setWindowTitle(_translate("Dialog", "Dialog", None))
self.label.setText(_translate("Dialog", "dialog2", None))
self.pushButton.setText(_translate("Dialog", "返回主窗体", None))
def on_pushButton_clicked(self):
self.form .close()
if __name__ == "__main__":
import sys
app = QtGui.QApplication(sys.argv)
Dialog = QtGui.QDialog()
ui = Dialog2()
ui.setupUi(Dialog)
Dialog.show()
sys.exit(app.exec_())
按钮绑定到新弹出界面的处理函数,使用的槽连接方式为:
self.pushButton.clicked.connect(self.on_pushButton_clicked) 如果是Menu项绑定到新弹出界面的处理函数,则应使用的槽连接方式为:
QtCore.QObject.connect(self.set_value_menu, QtCore.SIGNAL(_fromUtf8("triggered()")), self.open_set_value_form) 二者使用的槽处理函数基本一致。
若不显示原界面,只需将原界面hide()即可,如:
self.form.hide() 若需在弹出新窗口时同时原窗口保持可见,则不需这一步。且在这种情况下,若要原窗口可选为顶层窗体,则在显示新窗口时应使用show():
Form1.show()
若新窗口为固定的顶层窗体,原窗体被遮盖,则应使用exec_():
Form1.exec_() 您可能感兴趣的文章:PyQt5 多窗口连接实例PyQt 实现使窗口中的元素跟随窗口大小的变化而变化PyQt5实现从主窗口打开子窗口的方法pyqt 多窗口之间的相互调用方法













闽公网安备 35020302000061号