Russian Qt Forum
Ноябрь 26, 2024, 20:32 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Сокет и Модальный диалог  (Прочитано 3622 раз)
o_leg
Гость
« : Август 26, 2009, 10:21 »

Приветствую.
Не знаю, в тот ли раздел пишу, но сорри, если что...
Имеется клиент-серверное приложение. По приему данных нужно выдать модальный диалог.
То есть в сокете в слоте readyRead я создаю диалог с exec(). Так вот после создания диалога сокет блокируется от получения данных, пока я не закрою диалог. Это не есть хорошо.
При программировании под Windows я просто в при приеме слал PostMessage в служебное окно, там это сообщение ловилось и создавался модальный диалог. При этом работа сокета не блокировалась.
Как асинхронно толкнуть что-то чтобы из socket::readyRead создать модальный диалог и не заблокировать работу по приему данных?
Имеет смысл воспользоваться timer?
Спасибо.
Записан
kwisp
Гость
« Ответ #1 : Август 26, 2009, 10:47 »

Цитировать
nt QDialog::exec ()   [slot]

Shows the dialog as a modal dialog, blocking until the user closes it. The function returns a DialogCode result.

If the dialog is application modal, users cannot interact with any other window in the same application until they close the dialog. If the dialog is window modal, only interaction with the parent window is blocked while the dialog is open. By default, the dialog is application modal.

See also open(), show(), result(), and setWindowModality().
попробуй просто show()
предварительно сделав диалог модальным.
Записан
o_leg
Гость
« Ответ #2 : Август 26, 2009, 11:30 »

Ага, спасибо. Работает. Про setModal я и забыл...
Записан
BlackTass
Гость
« Ответ #3 : Август 26, 2009, 15:20 »

а еще лучше передать сигнал в гуевый поток, чтобы он создал модальное окно
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.052 секунд. Запросов: 20.