我正在使用使用QT Designer生成的python代码。我想从我的MainWindow上的按钮打开一个新的对话框。当我使用下面的代码时,对话窗口一旦创建就会消失。我认为这是因为当方法命中return语句时,QDialog对象被销毁。叫这个对话的正确方法是什么?PY Qt从QMainWindow打开QDialog
def OpenDialogue(self):
DialogueWindow = QtGui.QDialog()
my_dialogue = MyDialogue.Ui_Dialog()
my_dialogue.setupUi(DialogueWindow)
DialogueWindow.show()
return
例如,我应该实例化DialogueWindow在我定义MainWindow并将其传递给此方法的同一位置吗?
的主窗口的构造函数如下:
class Ui_MainWindow(QtGui.QMainWindow, object):
def setupUi(self, MainWindow):
[code]
如下进行实例:
app = QtGui.QApplication(sys.argv)
MainWindow = QtGui.QMainWindow()
ui = GUI.Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
app.exec_()
您可以显示主窗口类的构造函数 – eyllanesc
请告诉我什么我问,除了你可以尝试:)'DialogueWindow = QtGui.QDialog(个体经营)' – eyllanesc
如果我改变'DialogueWindow.show(''到DialogueWindow.exec _()',它的工作原理! – PProteus