我的PyQt程序有两个小部件(选择文件等),然后是一个显示解析文件结果的主窗口。在
这个程序对于小的示例文件非常有用,但是当试图解析较大的文件时,它会挂起(显示“没有响应”),然后在大约30秒后显示结果。在
我想在主窗口打开之前实现一个QDialog。QDialog将有一个进度条,让用户知道主窗口何时打开。在
此进度条需要设置为主窗口弹出前的时间长度。在
实现这一点的最佳方法是什么?我看到了一些例子,但是进度条只是设置为一个标准化的时间,而不是在处理(解析)完成时。在
我目前有以下代码打开主窗口。在
def openWidgetMain(self):
self.WidgetMain = WidgetMain()
self.WidgetMain.show()
self.close()
此窗口的所有处理都在打开时完成。那么如何连接QProgressBar呢?在
把你持久的过程放在某种程度上。读这个:http://qt-project.org/doc/qt-5/threads-technologies.html 从该线程发出一个信号来更新进度条。这样应用程序就不会挂起,用户可以看到进度。在
但是,在进度条中显示哪个百分比取决于加载例程。如果你不能计算一个确切的百分比,试着做一些估计(例如,根据文件的大小和文件的处理量)。在
首先,实现这一点的最佳方法是,必须估计加载进度文件。接下来,用
QtCore.QThread
来实现它来创建后台进程。最后,将您的回拨进度放入QtGui.QMainWindow
。在小例子
^{} 的更多信息(建议阅读以了解行为)
相关问题 更多 >
编程相关推荐