python - 如何刷新按钮图标,表明它在繁重的工作开始之前正在工作

标签 python pyqt pyqt5

def generate_thumb(self):
        # -- clear preview image
        pixmap = QPixmap(self.nwidth, self.nheight)
        pixmap.fill( QColor('#C0C0C0'))
        ico = QIcon(pixmap)
        self.btn3.setIcon(ico)      
        self.btn3.show()    # still not showing 
        self.generate_thumbnail()

我希望 btn3 填充用户可见的灰色背景 - 然后开始生成缩略图(需要 5-10 秒,然后 btn3 图标再次填充生成的缩略图)。当我运行代码时,我根本看不到灰色背景,只能看到生成完成后的新渲染图像。

如何强制 gui 刷新或显示灰色 btn3 图标,然后开始生成新图像?

最佳答案

我自己终于找到了答案。

调用QtGui.qApp.processEvents()对我有用

def generate_thumb(self):
        # -- clear preview image
        pixmap = QPixmap(self.nwidth, self.nheight)
        pixmap.fill( QColor('#C0C0C0'))
        ico = QIcon(pixmap)
        self.btn3.setIcon(ico)      

        #  show it now!
        QtGui.qApp.processEvents()       

        self.generate_thumbnail()

关于python - 如何刷新按钮图标,表明它在繁重的工作开始之前正在工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33419980/

相关文章:

python - 无法从方法打开新窗口

python-3.x - WinError 10022 : An invalid argument was supplied, 我不明白为什么

python - 如何使用 tab 键从 QTableWidget 移动到下一个小部件

python - 在任何地方用另一个替换一个 python 对象

Python PIL : font weight and style

Python - PyQT4如何检测窗口中任意位置的鼠标点击位置?

python - 为什么 PyQt 有时会在退出时崩溃?

C++ 或 Python(也许是其他)为 C 中的控制台应用程序创建 GUI

python - 将 double 组从 C 发送到 Python 并返回

python - PyQt 在 QDialog 的 QScrollArea 内部绘制