单击按钮时的两个功能一个接一个 - Pyside
Two function one after the other when clicked pushbutton - Pyside
我对 py pyside 脚本有点问题。我制作了一个安装向导,我想在我的 stackedwidget 中更改我当前的小部件,然后安装所有库等...
我试过两种解决方案:
第一个是这个:
self.pushButton.clicked.connect(lambda: changepage(self, MainWindow))
self.pushButton.clicked.connect(lambda: makeinstall(self, MainWindow))
它不起作用,window 没有改变,我的安装正在启动。
第二个是:
def changepage(self, MainWindow):
self.stackedWidget.setCurrentIndex(4)
makeinstall(self, MainWindow)
而且它也不起作用。两种方案中,安装后页面都变了(我觉得是功能结束后)。
有人在 pyside 中解决了 运行 两个函数,一个接一个的问题吗?
此致,
连接到信号的插槽被称为同步,因此GUI不会在returns之前更新。有很多不同的方法可以解决这个问题,但您可以尝试像这样强制更新:
def changepage(self, MainWindow):
self.stackedWidget.setCurrentIndex(4)
QtGui.qApp.processEvents()
或者,如果这不起作用,请尝试对 运行 安装程序使用单次计时器:
QtCore.QTimer.singleShot(0, lambda: makeinstall(self, MainWindow))
我对 py pyside 脚本有点问题。我制作了一个安装向导,我想在我的 stackedwidget 中更改我当前的小部件,然后安装所有库等...
我试过两种解决方案:
第一个是这个:
self.pushButton.clicked.connect(lambda: changepage(self, MainWindow))
self.pushButton.clicked.connect(lambda: makeinstall(self, MainWindow))
它不起作用,window 没有改变,我的安装正在启动。
第二个是:
def changepage(self, MainWindow):
self.stackedWidget.setCurrentIndex(4)
makeinstall(self, MainWindow)
而且它也不起作用。两种方案中,安装后页面都变了(我觉得是功能结束后)。
有人在 pyside 中解决了 运行 两个函数,一个接一个的问题吗?
此致,
连接到信号的插槽被称为同步,因此GUI不会在returns之前更新。有很多不同的方法可以解决这个问题,但您可以尝试像这样强制更新:
def changepage(self, MainWindow):
self.stackedWidget.setCurrentIndex(4)
QtGui.qApp.processEvents()
或者,如果这不起作用,请尝试对 运行 安装程序使用单次计时器:
QtCore.QTimer.singleShot(0, lambda: makeinstall(self, MainWindow))