2016-06-19 24 views
0

私はプッシュボタンで別のGUIを開くにはどうしたらいいですか?

SecDialogは私の第二のGUIで、メインウィンドウがメインである私は私のメインのGUIのボタンを押した場合、私は第二のGUIを開きたいqtのデザイナーによっていくつかのGUIを作り、プッシュボタン

ことによって、それらを接続したいですgui

何が問題ですか?

import sys 
from PyQt4 import QtCore, QtGui 
from mainwindow import Ui_MainWindow 
from secdialog import Ui_SecDialog 

class SecDialog(QtGui.QDialog, Ui_SecDialog): 
    def __init__(self, parent=None): 
     QtGui.QDialog.__init__(self, parent) 
     self.setupUi(self) 

class MainWindow(QtGui.QMainWindow, Ui_MainWindow): 
    def __init__(self, parent=None): 
     QtGui.QMainWindow.__init__(self, parent) 
     self.setupUi(self) 
     self.pushButton.clicked.connect(self.handleMainWindow) 

    def handleMainWindow(self): 
     window = SecDialog(self) 
     window.show 

if __name__ == '__main__': 
    app = QtGui.QApplication(sys.argv) 
    ex = MainWindow()   
    ex.show() 
    sys.exit(app.exec_()) 

答えて

0

あなたがwindow.show後に開閉括弧を配置する必要があります。

import sys 
from PyQt4 import QtCore, QtGui 
from mainwindow import Ui_MainWindow 
from secdialog import Ui_SecDialog 

class SecDialog(QtGui.QDialog, Ui_SecDialog): 
    def __init__(self, parent=None): 
     QtGui.QDialog.__init__(self, parent) 
     self.setupUi(self) 

class MainWindow(QtGui.QMainWindow, Ui_MainWindow): 
    def __init__(self, parent=None): 
     QtGui.QMainWindow.__init__(self, parent) 
     self.setupUi(self) 
     self.pushButton.clicked.connect(self.handleMainWindow) 

    def handleMainWindow(self): 
     window = SecDialog(self) 
     window.show() # <-- show is a method, therefore you need parentheses after it to call it 

if __name__ == '__main__': 
    app = QtGui.QApplication(sys.argv) 
    ex = MainWindow()   
    ex.show() 
    sys.exit(app.exec_()) 
関連する問題