我创建了一个PyQt主窗口应用程序,并且在PyQt designer中创建了2个PyQt对话框,然后是一个“调用”.pyw程序,问题是当我尝试打开不同的对话框时,它只打开一个对话框。在
如何将对话框显式设置/链接到类:
import sys
from MainApp import *
from Dialog1 import *
from Dialog2 import *
from PyQt4 import Qt, QtGui
class MyForm(QtGui.QMainWindow):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
QtCore.QObject.connect(self.ui.pushButton1, QtCore.SIGNAL('clicked()'), self.openDialog1)
QtCore.QObject.connect(self.ui.pushButton2, QtCore.SIGNAL('clicked()'), self.openDialog2)
def openDialog1(self):
editDialog = Dialog1()
editDialog.exec_()
def openDialog2(self):
editDialog = Dialog2()
editDialog.exec_()
class Dialog1(QtGui.QDialog):
isEdit = False
def __init__(self, studentId=0, parent=None):
QtGui.QWidget.__init__(self, parent)
self.ui = Ui_Dialog()
self.ui.setupUi(self)
class Dialog2(QtGui.QDialog):
isEdit = False
def __init__(self, studentId=0, parent=None):
QtGui.QWidget.__init__(self, parent)
self.ui = Ui_Dialog()
self.ui.setupUi(self)
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
myapp = MyForm()
myapp.show()
sys.exit(app.exec_())
默认情况下,如果我注释掉这一行:
^{pr2}$然后它加载Dialog1,我想显式地设置它加载哪个对话框
您的导入:
相当于:
^{pr2}$所以最后
Ui_Dialog
将引用Dialog2.py
的设计,这就是为什么只显示第二种形式的原因。在解决方案是区分两种导入,为此可以使用:
as
相关问题 更多 >
编程相关推荐