我有一個代碼,它由3 classes
組成。類widget1
和widget2
繼承自QFrame
類,並且由用戶輸入信息的幾個lineedit
和combobox
組成。如何在Python PyQt4中設置現有MainWidnow的中心部件?
所以,我想要的是:程序啓動時,首先會彈出QMainWindow
類,其中widget1
設置爲central widget
。
widget1
有一個Check function
連接到它上面的一個按鈕。檢查按鈕將根據用戶在頁面上輸入的數據檢查條件是否爲真。
如果條件成立。我希望widget2
將其設置爲MainWindow
的central wiget
以取代現有的central widget
,widget1
。
我的問題是,我如何將widget2
設置爲現有MainWidnow
類實例的中心控件?
這是我的代碼的格式:
class widget1(QtGui.QFrame):
def __init__(self,parent = None):
......
......
def Check(self):
if (condition):
#set widget2 as central widget on MainWindow
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_()
我從來不知道我可以使用'.parent()'fucntion來訪問父對象。很高興知道&非常感謝! –