Python 在执行任务之前禁用QPushButton

Python 在执行任务之前禁用QPushButton,python,qt,pyqt,pyqt4,Python,Qt,Pyqt,Pyqt4,我创建了QPushButton,并与特定任务建立了连接。除此任务外,我还想禁用此QPushButton。因此,我在任务之前添加了mybutdown.setEnabled(False),但它不会像我预期的那样工作,任务完成后按钮被禁用。但是,当我删除任务时,它会起作用。您可以这样做: mypushbutton.setEnabled(False); QCoreApplication::processEvents(); // do something 用DOC注释< /强> 如果任务是阻塞的,您

我创建了
QPushButton
,并与特定任务建立了连接。除此任务外,我还想禁用此
QPushButton
。因此,我在任务之前添加了
mybutdown.setEnabled(False)
,但它不会像我预期的那样工作,任务完成后按钮被禁用。但是,当我删除任务时,它会起作用。

您可以这样做:

mypushbutton.setEnabled(False);
QCoreApplication::processEvents();
// do something


<强>用DOC注释< /强>

如果任务是阻塞的,您可能需要考虑线程,以避免阻塞事件循环。在“代码> SET启用(false)< /代码>之后,在“运行我的任务”之前,尝试调用<代码> MyPutsPut.RePrimeTo()/Case>。您已经创建了本地事件循环,该循环事件甚至不启动也不做任何事。处理主事件循环的挂起事件的方法是调用
QCoreApplication::processEvents()