![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Гость_Гость_Fynjy_*_* |
![]()
Сообщение
#1
|
Гости ![]() |
Привет ВСем! Итак вопрос такой: Есть класс, в полях которого есть указатель на объект наследник от QDialog. Я создаю обьект основного класса, в конструкторе этого класса я создаю обьект в динамической памяти - указатель на наследника QDialog. Обьеект оснновного класса далее я перевожу из GUI потока в другой. Обьект в поле основного класса который я создал динамически в его конструкторе, остается в GUI потоке. Почему при вызове exec у наследника QDialog создается форма диалоога и все виснет?
Обратите внимание что объект m_DerivedDialog продолжет принадлежать основному потоку GUI, но диалог на отрисовке зависает |
|
|
Алексей1153 |
![]()
Сообщение
#2
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
в основном потоке обработкой сообщений системы занимается объект, производный от класса QCoreApplication (вернее, даже от QGuiApplication). А в твоём потоке есть такой объект ?
глянь описание функции QCoreApplication::processEvents и главный вопрос - а зачем ты вообще пытаешься использовать виджет не в основном потоке? Какая задача ? Сообщение отредактировал Алексей1153 - 16.2.2018, 7:06 |
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 16.2.2025, 19:00 |