PyQt在其他函数运行时显示GIF

2024-09-19 23:37:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个应用程序可以将数据保存到一个文件中,由于我的文件很大,有时保存功能需要很长时间。我想要一个“正在加载.gif“在保存文件时显示,但尚未找到如何保存的方法。这是我的代码:

def saveBook(self):
    self.loadingWidget.setHidden(not root.journal.status.loading.isHidden())
    app.processEvents()
    self.excelSheet.save(filename = self.file)
    self.loadingWidget.setHidden(not root.journal.status.loading.isHidden())

LoadingWidget是保存GIF的QLabel(它会自动打开)。在

  • 第一行打开GIF的可见性
  • 第二行立即处理/显示GIF
  • 第三个运行save函数(不管多长时间)
  • 第四行关闭GIF。在

显示GIF,但已暂停。如果我省略第四行,GIF将在save函数完成后播放,但是在save函数运行时,我不能让GIF播放。我该怎么做?在

编辑:建议的复制不正确。那个人试图在标签旁边显示gif。我试图在另一个函数save运行时播放GIF帧。GIF已经可见,但是在当前的save函数完成之前,应用程序不会处理其播放。在

更新-解决方案:

^{pr2}$

Tags: 文件函数self应用程序savestatusnotroot
1条回答
网友
1楼 · 发布于 2024-09-19 23:37:18

当QT在主事件循环中处理其他代码时,GUI不会更新。通常,当您有不想阻塞GUI的长时间运行的进程时,您可以将这些操作推送到一个单独的线程中。在

相关问题 更多 >