Найти - Пользователи
Полная версия: threading. ошибка доступа к интерфейсу.
Начало » GUI » threading. ошибка доступа к интерфейсу.
1
Alex_Kutsan
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()
Что я не смыслю?
Alex_Kutsan
Ох тыж, а вот сейчас вообще вылетело.

QObject::connect: Cannot queue arguments of type 'QTextCursor'
(Make sure 'QTextCursor' is registered using qRegisterMetaType().)
Ошибка сегментирования
diam123
Не стоит изменять QT Гуи из простого треда.
Попробуйте использовать кьютешные потоки, и впридачу не делать изменения интерфейса из них, а эмиттить сигналы и поставить слот в основном треде.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB