0
我已經使用Qt Designer創建了兩個uis,將它們導入到我的腳本中,並使用setupUi()方法以正常方式設置它們。當點擊一個按鈕並執行適當的方法時,新的UI將被加載,但所有的舊窗口小部件和連接仍然存在。PyQt4:從其父母中刪除孩子
什麼是正確的方式來刪除連接,然後刪除所有的MainWindow的當前孩子,以便只有新的用戶界面的小部件和連接仍然存在?下面是我正在做的一個簡單的例子。
from PyQt4 import QtGui, QtCore
from Models import *
from Backward import Ui_Backward
from Forward import Ui_Forward
class MainWindow(QtGui.QMainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self, None)
self.move_forward()
def move_forward(self):
self.ui = Ui_Forward()
self.ui.setupUi(self)
self.connect(self.ui.Button, QtCore.SIGNAL('clicked()'), self.move_backward)
def move_backward(self):
self.ui = Ui_Backward()
self.ui.setupUi(self)
self.connect(self.ui.Button, QtCore.SIGNAL('clicked()'), self.move_forward)
一旦Ui_Forward設置並按下按鈕,Ui_Backward設置正確,但所有來自Ui_Forward小部件仍處於兒童的主窗口的列表中。
我的應用程序有幾個不同的視圖,所以我試圖創建一個有組織的方式來在它們之間轉換。它看起來像QStackedWidget將工作爲我的目的與一點編輯,謝謝。 – 2010-10-27 04:18:38