gpt4 book ai didi

Python + QT : How to make non-GUI Blocking loading screen?

转载 作者:行者123 更新时间:2023-11-28 21:56:23 25 4
gpt4 key购买 nike

PySide 的新手,所以这里的基础知识可能有误。

我正在编写一个 GUI 应用程序,它将启动,然后进行各种系统检查:

  • 检查硬件是否存在
  • 检查网络连接
  • 检查 API 连接

在整个过程中,它将告知用户当前正在做什么以及结果。

完成检查(并通过)后 - 他们将被带到程序初始屏幕。

目前,我一直在尝试运行检查,在计时器中使用 QApplication.processEvents:

if __name__ == '__main__':
app = QApplication(sys.argv)
rebadger = rebadger()
rebadger.initUI()
rebadger.show()

tT = QTimer()
tT.setSingleShot(False)
tT.timeout.connect(QApplication.processEvents)
tT.start(1000)

rebadger.rebadgeObj.runChecks()

sys.exit(app.exec_())

但是在检查完成之前,一切仍然会阻塞。

我已经阅读了 QThread 文档,但我发现很难理解事件逻辑(来自严格的 PHP 背景)

如果您能协助勾勒出如何实现这一目标的框架,我们将不胜感激。

最佳答案

也许 QSplashScreen 就是您所需要的:

if __name__ == '__main__':                                                                       

import time
app = QtGui.QApplication(sys.argv)
splash = QtGui.QSplashScreen(QtGui.QPixmap('splash.png'))
splash.show()
for n in ("HW presence", "net connectivity", "API connectivity"):
splash.showMessage("Check for {0}".format(n))
time.sleep(1)
app.processEvents()
mainWin = MainWindow()
splash.finish(mainWin)
mainWin.show()
sys.exit(app.exec_())

关于Python + QT : How to make non-GUI Blocking loading screen?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21579897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com