|
111 / 98 / 84
Регистрация: 18.12.2015
Сообщений: 567
|
|||||||||||
QDialog вызов функции после exec()05.10.2017, 10:59. Показов 8133. Ответов 33
Метки нет (Все метки)
Всем привет! Мне надо после того как окно диалога появилось вызвать код. А конкретно запустить поток.
Используя перегрузку exec() код вызывается до вызова функции exec(). Используя перегрузку showEvent() тот же эффект.
Если вызывать код после вызова
accepted() rejected() Кнопки OK или CANCEL
0
|
|||||||||||
| 05.10.2017, 10:59 | |
|
Ответы с готовыми решениями:
33
QDialog, QApplication и exec() QDialog setVisible прерывает exec? |
|
111 / 98 / 84
Регистрация: 18.12.2015
Сообщений: 567
|
|||||||||||
| 05.10.2017, 21:37 [ТС] | |||||||||||
|
Вот делаю как рекомендуют колеги, но те же ошибки:
0
|
|||||||||||
|
|
|
| 05.10.2017, 21:50 | |
|
Вынеси всё это дерьмо из класса диалога в класс, где этот диалог создаётся. Что за чудачество, писать логику в UI?!? Создаёшь диалог, запускаешь поток, выполняешь exec, всё в одном месте. Можешь даже через сигналы-слоты это всё выполнять, цепляешь exec к started, finished к close.
Worker - это виджет QToolButton? Виджеты вне основного потока не работают, даже не понятно, почему Qt на перемещении не упало. Ради них, виджетов, вообще все эти сигналы и делались, чтобы ui не расплывалось сообщениями по потокам. Поверь, ты не захочешь 4 очереди сообщений, сражающихся за сообщения о положении курсора.
0
|
|
|
111 / 98 / 84
Регистрация: 18.12.2015
Сообщений: 567
|
|||||||||||
| 06.10.2017, 11:06 [ТС] | |||||||||||
|
Можешь показать на примере, как это сделать на моем примере.
Добавлено через 9 минут Я попробовал как вы сказали и все те же ошибки
Все крушится. Добавлено через 2 минуты Когда сделать вот так, то окно показывается, но замерает и когда я нажимаю выйти все крушится
Как можно это исправить?
0
|
|||||||||||
|
|
|||||||||
| 06.10.2017, 11:36 | |||||||||
ProcessFormThread и ProcessFormWorker.
1
|
|||||||||
|
зомбяк
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
||||
| 06.10.2017, 11:43 | ||||
|
0
|
||||
|
111 / 98 / 84
Регистрация: 18.12.2015
Сообщений: 567
|
|||||||||||||||||||||
| 06.10.2017, 12:00 [ТС] | |||||||||||||||||||||
Тоесть Worker мы помещаем в поток, который запускает цикл обработки событий. Добавлено через 2 минуты Вот так попробовал, но ошибка та же
Как и раньше обговаривали
0
|
|||||||||||||||||||||
|
зомбяк
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
|
| 06.10.2017, 12:11 | |
|
Kotik_leapold, временно отключи prepareQrCodeSession(numberUsers) и saveFormsSession(). Посмотри, останется ли вылет. Потом добавь их по одному.
0
|
|
|
111 / 98 / 84
Регистрация: 18.12.2015
Сообщений: 567
|
||||||||||||||||
| 06.10.2017, 12:38 [ТС] | ||||||||||||||||
|
Окей! Сейчас проверю!
Добавлено через 7 минут Окно показывается. Но обработка не выполняется. Это понятно
Сигнал не вызывается. Но когда я хочу закрыть диалог, то В логе вот таке показывается
0
|
||||||||||||||||
|
111 / 98 / 84
Регистрация: 18.12.2015
Сообщений: 567
|
|
| 06.10.2017, 12:39 [ТС] | |
|
Вот так
0
|
|
|
111 / 98 / 84
Регистрация: 18.12.2015
Сообщений: 567
|
|
| 06.10.2017, 13:09 [ТС] | |
|
После закрытия окна все ламается.
Добавлено через 28 минут Как можно это исправить.
0
|
|
|
зомбяк
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
|||||||
| 06.10.2017, 13:36 | |||||||
1
|
|||||||
|
111 / 98 / 84
Регистрация: 18.12.2015
Сообщений: 567
|
||||||
| 06.10.2017, 14:09 [ТС] | ||||||
|
Если добавить, две строки и закоментировать то программа не падает
но строчка все равно показывается.
0
|
||||||
|
зомбяк
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
|
| 06.10.2017, 14:48 | |
|
0
|
|
|
111 / 98 / 84
Регистрация: 18.12.2015
Сообщений: 567
|
|
| 06.10.2017, 15:01 [ТС] | |
|
Надо удалить в ProcessFormDialog.
Это поможет? Хорошо попробую и очищу.
0
|
|
| 06.10.2017, 15:01 | |
|
Вызов функции из другой функции после нажатия на кнопку Вызов функции после некоторого времени Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть не большие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|