两个功能一个接一个地点击按钮时 - Pyside
问题描述:
我有一个Python脚本的问题。我做一个设置向导,我想改变我的当前小我stackedwidget然后使librairies等所有安装...两个功能一个接一个地点击按钮时 - Pyside
我已经试过两种解决方案:
第一是这一个:
self.pushButton.clicked.connect(lambda: changepage(self, MainWindow))
self.pushButton.clicked.connect(lambda: makeinstall(self, MainWindow))
它不工作,窗口不会改变,我的安装启动。
二是:
def changepage(self, MainWindow):
self.stackedWidget.setCurrentIndex(4)
makeinstall(self, MainWindow)
,并没有工作过。在这两种解决方案中,页面在安装后发生改变(在我认为的功能结束之后)。
有人有解决方案来运行两个函数,一个接一个地在pyside?
问候,
答
连接到所述信号的时隙称为同步,所以GUI将不被更新,直到它返回。有很多不同的方法来解决这个问题,但你可以尝试强制这样的更新:
def changepage(self, MainWindow):
self.stackedWidget.setCurrentIndex(4)
QtGui.qApp.processEvents()
或者,如果不行,请尝试使用一个单次定时器运行安装程序:
QtCore.QTimer.singleShot(0, lambda: makeinstall(self, MainWindow))
完美,第一个解决方案工作,非常感谢! :) –