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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: [РЕШЕНО]QDialog::exec() и блокировка всего прочего  (Прочитано 3077 раз)
neversleep
Гость
« : Февраль 24, 2013, 10:27 »

Сорри за невнятное название темы, суть такова: пытаюсь создать всплывающее окошко уведомлений - своего рода tooltip, в общем-то все хорошо, кроме одного: доступ к этому окну блокируется если в программе открыть любой диалог через exec(), оно и понятно, но как от этого избавиться? Хочу чтобы окно было всегда доступно. Вариант с заменой exec'ов на show не предлагать Улыбающийся

Код
C++ (Qt)
class Notification: public QWidget
{
   Q_OBJECT
 
public:
   explicit Notification(const QString &text, QWidget *parent = 0);
   ~Notification();
}
 
Notification::Notification(const QString &text, QWidget *parent = 0):
QWidget(parent)
{
   ui->setupUi(this);
   setAttribute(Qt::WA_DeleteOnClose);
   setAttribute(Qt::WA_TranslucentBackground);
   setWindowFlags(Qt::ToolTip);
...
}
« Последнее редактирование: Февраль 24, 2013, 17:11 от neversleep » Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #1 : Февраль 24, 2013, 11:25 »

Перегрузи
Код
C++ (Qt)
bool QApplication::notify ( QObject * receiver, QEvent * e ) [virtual]
Записан

Qt 5.11/4.8.7 (X11/Win)
neversleep
Гость
« Ответ #2 : Февраль 24, 2013, 12:38 »

А дальше что? Улыбающийся
Записан
Kurles
Бывалый
*****
Offline Offline

Сообщений: 480



Просмотр профиля
« Ответ #3 : Февраль 24, 2013, 16:30 »

Попробуй в каждом диалоге в конструкторе вызывать setWindowModality(Qt::WindowModal)
Записан

Код
C++ (Qt)
while(!asleep()) sheep++;
neversleep
Гость
« Ответ #4 : Февраль 24, 2013, 17:10 »

Попробуй в каждом диалоге в конструкторе вызывать setWindowModality(Qt::WindowModal)
То, что нужно, спасибо.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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