PyQt4:中央窗口小部件和父模块

时间:2017-01-04 14:32:03

标签: python pyqt4

我的问题类似于this one,除了一件事:如果类widget1widget2很大,我想将它们放在两个单独的文件中。方法Check()出现问题。那么,有没有办法调用self.parent().setCentralWidget(w2),即使widget2widget1不在同一个文件中(但它们都是在包含MainWindow的主文件中导入的)。

代码来自How to set the central widget of existing MainWidnow in Python PyQt4?

class widget1(QtGui.QFrame):
    def __init__(self,parent = None):
        ......
        ......

    def Check(self):
        if (condition):
            w2=widget2(self)
        self.parent().setCentralWidget(w2)

class widget2(QtGui.QFrame):
    def __int__(self,parent = None):
        .....
        .....

class MainWindow(QtGui.QMainWindow):
    def __init__(self,parent = None):
        QtGui.QMainWindow.__init__(self,parent)
        ....
        mywidgetone = widget1()
        self.setCentralWidget(mywidgetone)

if __name__ == '__main__':
    app = QtGui.QApplicaiton(sys.argv)
    main = MainWindow()
    main.show()
    app.exec_()

0 个答案:

没有答案