Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 21, 2010 05:34:59

nerezus
От:
Зарегистрирован: 2006-08-01
Сообщения: 178
Репутация: +  0  -
Профиль   Отправить e-mail  

PyQt4: из другого потока

В главном потоке на инициализации формы делаю так: Registry.form = self
В других потоках при использовании Registry.form.log('hello') вылазиет это:

QObject::connect: Cannot queue arguments of type 'QTextBlock'
(Make sure 'QTextBlock' is registered using qRegisterMetaType().)
QObject::connect: Cannot queue arguments of type 'QTextCursor'
(Make sure 'QTextCursor' is registered using qRegisterMetaType().)
Жуткий артефакт со шрифтом, хоть и работает.

1) Как удачнее передать сообщение потоку, чтобы оно выполнилось уже в нем?
2) <оффтоп>Есть ли декоратор для запуска кода в новом потоке?</оффтоп>



Отредактировано (Янв. 21, 2010 05:35:39)

Офлайн

#2 Янв. 21, 2010 19:13:00

bialix
От:
Зарегистрирован: 2006-07-13
Сообщения: 774
Репутация: +  1  -
Профиль   Отправить e-mail  

PyQt4: из другого потока

1) int QThread.exec_ (self)

Enters the event loop and waits until exit() is called, returning the value that was passed to exit(). The value returned is 0 if exit() is called via quit().

It is necessary to call this function to start event handling.



Офлайн

#3 Янв. 21, 2010 19:13:27

bialix
От:
Зарегистрирован: 2006-07-13
Сообщения: 774
Репутация: +  1  -
Профиль   Отправить e-mail  

PyQt4: из другого потока

2) см. на QThreadPool



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version