@andrewMus

Как создать бесконечный цикл pyqt, и при введении в консоль текста, он обновлялся в графическом приложении?

Искал достаточно много по этой теме, но чего-то для меня понятного не нашол, не понимаю как использовать многозадачность, находил примеры с использованием многозадачности, подставлял PyQt но програма либо зависает, либо сама роботает но бесконечный цикл нет, можыте пожалуста объяснить мне (с коментарыями), или если есть какой-то прымер (может на англоязычном инете) то дайте сылку, бо не могу найти нечего стоющего...
Представляю себе это как-то так
from PyQt5 import QtWidgets
 
# Импортируем наш шаблон.
from myform import Ui_MainWindow
import sys
x=0 
 
class mywindow(QtWidgets.QMainWindow):
    def __init__(self):
        super(mywindow, self).__init__()
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        # подключение клик-сигнал к слоту btnClicked
        self.ui.pushButton.clicked.connect(self.btnClicked)
 
    def btnClicked(self):
        self.ui.label.setText("Вы нажали на кнопку!")
        self.ui.label.adjustSize()
 

def loop():
    while True:
        x=input()
        application.ui.label.setText(x)
        
#но как её вызвать (функцию) ?
app = QtWidgets.QApplication([])
application = mywindow()
application.show()
  • Вопрос задан
  • 1858 просмотров
Решения вопроса 1
@cython
Нужно запускать эту функцию в отдельном потоке.
Можете почитать про конкурентное программирование.
https://habr.com/ru/post/318374/
import threading


def loop():
    while True:
        x=input()
        application.ui.label.setText(x)


t = threading.Thread(target=loop, args=())
t.start()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы