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