Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Qt
Войти
Регистрация
Восстановить пароль
 
Iechiko
0 / 0 / 0
Регистрация: 29.08.2013
Сообщений: 13
#1

Показать модальное окно, не останавливая при этом работу некоторых потоков - C++ Qt

13.05.2015, 17:30. Просмотров 365. Ответов 8
Метки нет (Все метки)

Добрый день!

Кто-нибудь знает, есть ли возможность показать модальное окно не останавливая при этом работу некоторых потоков.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2015, 17:30
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Показать модальное окно, не останавливая при этом работу некоторых потоков (C++ Qt):

Модальное окно
Как можно добиться эффекта модального окна чтобы можно было использовать только...

Модальное окно
Всем привет! Кто нибудь подскажет, как сделать QWidget модальным окном, но...

Модальное окно
У меня есть виджет Stacked Widget. На нем есть кнопка. По её нажатию, должно...

QGraphicsWidget и модальное окно
Есть View в котором много вложенных QGraphicsWidget. Отлавливаю...

Показать модальное окно
Подскажите как показать форму модально с учетом MVVM? Т.е. обычный ShowDialog...

Показать модальное окно после AJAX-запроса
Всем привет! Нужна помощь. и так есть простая форма с ajax. как только...

8
alexey_rage
590 / 390 / 79
Регистрация: 23.10.2013
Сообщений: 1,143
13.05.2015, 21:28 #2
Цитата Сообщение от Iechiko Посмотреть сообщение
Кто-нибудь знает, есть ли возможность показать модальное окно не останавливая при этом работу некоторых потоков.
Окна, как и весь GUI вообще рисуется только в одном потоке - в главном!
На все остальные потоки окна никак не влияют!
0
Iechiko
0 / 0 / 0
Регистрация: 29.08.2013
Сообщений: 13
14.05.2015, 11:23  [ТС] #3
Как я понял вызов модального диалога блокирует механизм сигнал-слот. Таким образом, пока не будет завершено выполнение диалога сигналы обрабатываться не будут. Или я не прав?
0
yarko
64 / 64 / 18
Регистрация: 31.03.2015
Сообщений: 253
14.05.2015, 11:30 #4
Если сигнал емитится самим диалогом в процесе работы, то он будет обработан как обычно.
0
Iechiko
0 / 0 / 0
Регистрация: 29.08.2013
Сообщений: 13
14.05.2015, 11:36  [ТС] #5
Не совсем так. Сигнал емитится другим объектом, который создан в побочном (не GUI) потоке и должен быть обработан так же в побочном потоке. В основном (GUI) потоке в это время должен быть показан модальный диалог.
0
yarko
64 / 64 / 18
Регистрация: 31.03.2015
Сообщений: 253
14.05.2015, 11:49 #6
Если сигнал/слот связаны не в одном и том же потоке, то обычно связывания будет QueuedConnection, то есть в очередь событий потока-владельца обьекта-приемника добавляется указания обработать сигнал.
Если сигнал/слот в одном потоке. то обычно связывания будет DirectConnection, тоесть немедленная обработка.
А поскольку очереди разных потоков совершенно независимы...
0
Iechiko
0 / 0 / 0
Регистрация: 29.08.2013
Сообщений: 13
14.05.2015, 11:59  [ТС] #7
Этим Вы хотите сказать что добиться необходимого поведения не получится?
0
yarko
64 / 64 / 18
Регистрация: 31.03.2015
Сообщений: 253
14.05.2015, 12:04 #8
Все нужное уже сказали еще в первом ответе.
0
alexey_rage
590 / 390 / 79
Регистрация: 23.10.2013
Сообщений: 1,143
14.05.2015, 13:04 #9
Цитата Сообщение от Iechiko Посмотреть сообщение
Не совсем так. Сигнал емитится другим объектом, который создан в побочном (не GUI) потоке и должен быть обработан так же в побочном потоке. В основном (GUI) потоке в это время должен быть показан модальный диалог.
Модальное окно блокирует только GUI.
Если у вас два побочных потока обмениваются между собой сигналами через сигнал/слот, то модальное окно никаким образом на это повлиять не может. Иначе бы вся концепция многопоточности теряла бы смысл.
0
14.05.2015, 13:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.05.2015, 13:04
Привет! Вот еще темы с решениями:

MessageBox: Как сделать так, чтобы если окно модальное, при клике на родительское окно MessageBox мигал?
Здравия всем! Никак не найду нужный MB_*, как можно сделать так, чтобы если...

Модальное окно при клике
Здравствуйте! Есть таблица, выводится из бд, как сделать, чтобы при клике на...

Модальное окно при перенаправлении
Добрый день! Подскажите, что не так) Есть форма - два поля и сабмит. Если в...

Модальное окно при запуске страницы
Такая задача стоит "При первых трех запусках страницы сайта должно всплывать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru