pyqt не отвечает во время чтения файла - PullRequest
0 голосов
/ 28 апреля 2020

my GUI с PyQt показывает, что я не отвечаю, когда я читаю в методе файл и вычисляю вывод, что будет показано в таблице QWidget.

Таким образом, требуется несколько секунд для читая строки в файле, и я должен найти лучшее решение для пользователя, чем "не отвечает". Есть ли способ обойти это или, возможно, ожидающий символ, чтобы сообщить пользователю, что он просто работает.

Спасибо, ребята!

1 Ответ

0 голосов
/ 28 апреля 2020

Для приложения с одним потоком было бы невозможно сделать две вещи вместе: чтение файла и обработка 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/

И пояснение по StackOverflow многопоточности приложения GUI: Объяснение необходимости многопоточности GUI программирования

Небольшой пример многопоточности в python:

def readingAFile(path):
    doSomething()
    showTheDataToGUI()

def main():
    _thread.start_new_thread(readingAFile, (filePath, ))
...