Отправьте сообщения в QT GUI из пула процессов. Pyside6Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Отправьте сообщения в QT GUI из пула процессов. Pyside6

Сообщение Anonymous »

Итак, у меня есть приложение, которое загружает файлы с FTP -сервера, и оно делает это в пуле процессов, чтобы сэкономить время, потому что иногда может быть много файлов. И я хотел бы показать прогресс того, какие файлы загружаются, отображая сообщение в Qlabel на графическом интерфейсе.

Код: Выделить всё

shared_queue = multiprocessing.Queue()

class MyProcess:
def foo(self, nb):
pid = os.getpid()
output = f"Process id = {pid}\nReceived nb = {nb}"
shared_queue.put(output)
print(output)

def do_stuff(self):
pool_size = 8
p = Pool(pool_size)
p.map(self.foo, range(pool_size))
< /code>
Я заменил функцию загрузки FTP на меньшую печать, но я получаю одинаковую проблему с обоими.from other_module import MyProcess, shared_queue

class MyThread(QThread):
my_sig = Signal(str)

def run(self):
while True:
text = shared_queue.get(block=True)
self.my_sig.emit(text)

class Window(QWidget):
def __init__(self):
# setting up a
# window with a label
# and a button

self.thread = MyThread()
self.thread.my_sig.connect(self.update_label)
self.thread.start

self.button.clicked.connect(self.button_handler)

def update_label(self, text):
self.label.setText(text)
print(text)
self.label.update()
QApplication.processEvents()

def button_handler(self):
bar = MyProcess
bar.do_stuff()
Моя проблема: когда я это делаю, метка обновляется только после do_stuff () . Сообщения помещаются в очередь, но они извлекают только за один раз, как только функция заканчивается. Но я хотел бы показать сообщение на графическом интерфейсе, как только оно испускается. Кто -нибудь знает, как я мог бы это сделать?>

Подробнее здесь: https://stackoverflow.com/questions/796 ... ol-pyside6
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Отправьте сообщения в QT GUI из пула процессов. Pyside6
    Anonymous » » в форуме Python
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Отправьте сообщения в QT GUI из пула процессов. Pyside6
    Anonymous » » в форуме Python
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Отправьте сообщения в QT GUI из пула процессов. Pyside6
    Anonymous » » в форуме Python
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Отправьте сообщения в QT GUI из пула процессов. Pyside6
    Anonymous » » в форуме Python
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Сломанный пул процессов: исполнитель пула процессов внутри приложения django, размещенного на Apache.
    Anonymous » » в форуме Apache
    0 Ответы
    49 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»