我的问题类似于this one,除了一件事:如果类widget1
和widget2
很大,我想将它们放在两个单独的文件中。方法Check()
出现问题。那么,有没有办法调用self.parent().setCentralWidget(w2)
,即使widget2
与widget1
不在同一个文件中(但它们都是在包含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_()