Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » threading. ошибка доступа к интерфейсу. [RSS Feed]

#1 Авг. 13, 2011 22:20:36

Alex_Kutsan
От:
Зарегистрирован: 2010-03-25
Сообщения: 150
Репутация: +  0  -
Профиль   Отправить e-mail  

threading. ошибка доступа к интерфейсу.

try:
Lock.acquire()

exec(code)


finally:
Lock.release()
print("error exec(LOG): "+ code)
в code содержится что-то подобное этому
code = ‘'’A.form.Screen_User_%i.appendPlainText(“\\n %s \\n\t <%s>”)'''%(index,params.sender.name,params.data)

как мне кажеться гдто тут рождается исключение печатающее
QObject::connect: Cannot queue arguments of type 'QTextCursor'
(Make sure 'QTextCursor' is registered using qRegisterMetaType().)
когда небыло потоков всё было норм, добавил потоки стало вот так ругатся, кстати невсегда. По идее 2 потока не должны получать доступ к изменению интерфейса я же обличил всё в Lock. Lock обьявил так


Lock = threading.Lock()
Что я не смыслю?



Офлайн

#2 Авг. 13, 2011 23:48:27

Alex_Kutsan
От:
Зарегистрирован: 2010-03-25
Сообщения: 150
Репутация: +  0  -
Профиль   Отправить e-mail  

threading. ошибка доступа к интерфейсу.

Ох тыж, а вот сейчас вообще вылетело.

QObject::connect: Cannot queue arguments of type 'QTextCursor'
(Make sure 'QTextCursor' is registered using qRegisterMetaType().)
Ошибка сегментирования



Офлайн

#3 Авг. 25, 2011 11:27:28

diam123
От:
Зарегистрирован: 2008-10-23
Сообщения: 105
Репутация: +  0  -
Профиль   Отправить e-mail  

threading. ошибка доступа к интерфейсу.

Не стоит изменять QT Гуи из простого треда.
Попробуйте использовать кьютешные потоки, и впридачу не делать изменения интерфейса из них, а эмиттить сигналы и поставить слот в основном треде.



Офлайн

  • Начало
  • » GUI
  • » threading. ошибка доступа к интерфейсу.[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version