pyqt 在读取文件时没有响应
pyqt not responding during reading a file
我使用 PyQt 的 GUI 在我读取文件和计算输出的过程中显示没有响应,这将显示在 QWidget 的 table 中。
因此读取文件中的行需要几秒钟,我应该为用户找到比 "not responding" 更好的解决方案。有没有办法绕过它或者可能是一个等待符号来通知用户它正在工作。
谢谢大家!
对于单线程应用程序,不可能同时做两件事:读取文件和处理 GUI。
尝试使用多线程。看看这个:https://docs.python.org/3/library/threading.html
或这个:
https://docs.python.org/3/library/_thread.html
另请查看为 https://www.learnpyqt.com/courses/concurrent-execution/multithreading-pyqt-applications-qthreadpool/
指定的页面
以及GUI应用多线程Whosebug的解释:
Explanation of need for Multi Threading GUI programming
多线程的一个小例子python:
def readingAFile(path):
doSomething()
showTheDataToGUI()
def main():
_thread.start_new_thread(readingAFile, (filePath, ))
我使用 PyQt 的 GUI 在我读取文件和计算输出的过程中显示没有响应,这将显示在 QWidget 的 table 中。
因此读取文件中的行需要几秒钟,我应该为用户找到比 "not responding" 更好的解决方案。有没有办法绕过它或者可能是一个等待符号来通知用户它正在工作。
谢谢大家!
对于单线程应用程序,不可能同时做两件事:读取文件和处理 GUI。
尝试使用多线程。看看这个:https://docs.python.org/3/library/threading.html
或这个:
https://docs.python.org/3/library/_thread.html
另请查看为 https://www.learnpyqt.com/courses/concurrent-execution/multithreading-pyqt-applications-qthreadpool/
指定的页面以及GUI应用多线程Whosebug的解释: Explanation of need for Multi Threading GUI programming
多线程的一个小例子python:
def readingAFile(path):
doSomething()
showTheDataToGUI()
def main():
_thread.start_new_thread(readingAFile, (filePath, ))