Похоже, что я должен просто настроить прослушиватель событий, который запускает вызов AJAX, чтобы обновить qlabel, но это, похоже, бесконечно сложно с QT.Как обновить QLabel во время цикла
В основном, я пытаюсь обновить текст в QLabel. Это происходит в бесконечном цикле, который ломается при нажатии кнопки (AKA - это как слот, содержащий флаг). Причина этого заключается в том, что я по существу читаю текстовый файл «на лету», который обновляется пользователем. Когда пользователь сохраняет текстовый файл, обновления содержимого в QLabel. Когда пользователь доволен текстом, он нажимает «отправить». Затем он убивает слушателя и E-Mails текстового содержимого на заранее определенный адрес электронной почты. Это связано с работой, поэтому пользовательская история была значительно изменена, но общая концепция - это то, что я собираюсь сделать.
Я пытался делать что-то вроде установки флага и это прослушивание, выполнив следующие действия:
while not self.flag_set:
self.my_text = text_read_module.get_text(self)
self.label_60.setText(self.my_text)
QCoreApplication.processEvents()
sleep(2)
Я также попытался толкая это в его собственный процесс и завершение, когда кнопка, содержащая сигнал завершения называется
Оба они не могут отображать содержимое на экране, но я могу сказать, что они работают благодаря некоторым удобным заявкам на печать из-под стражи
PS Это было сделано на Python, но, надеюсь, легко для пользователей C++
Любая идея о том, как это сделать? Благодаря!
Существует очень мало случаев использования вызовов processEvents в цикле основного события, а вызов 'sleep' из основного потока - это, как правило, плохая идея. Вместо постоянной проверки текста, который необходимо установить, используйте комбинацию сигналов/слотов. –
Я обычно не сторонник сна, я просто использовал его в качестве стоп-кадра, поэтому он не работает более 100 раз в секунду. Я определенно предпочел бы использовать комбинацию сигналов/слотов, как бы я это сделал в этой истории пользователей? –
Можете ли вы, чтобы 'text_read_module' излучал сигнал? Является ли он частью библиотеки, отличной от Qt? –