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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как отобразить немодальное окно?  (Прочитано 5511 раз)
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« : Август 18, 2011, 11:16 »

Как отобразить немодальное окно?

я делаю в слоте так:
Код:
void some_slot()
{
 Dialog d;
 d.show();
}

но окно появляется на секунду и исчезает. exec помогает, но окно блокирует остальные.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Август 18, 2011, 11:17 »

d.exec ();
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #2 : Август 18, 2011, 11:18 »

exec делает окно модальным, что в моем случае не то что мне нужно - мне надо что бы окно отображалось параллельно главному.
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #3 : Август 18, 2011, 11:19 »

У тебя после d.show() d сразу же уничтожается.
Организовывай локальный eventLoop либо аллокируй d в куче.
Записан

Qt 5.11/4.8.7 (X11/Win)
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #4 : Август 18, 2011, 11:20 »

Код
C++ (Qt)
void some_slot()
{
Dialog *d = new Dialog (this);
d->show();
}
 
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #5 : Август 18, 2011, 11:21 »

я так и понял, ну а как сделать что бы не удалялось?
хранить указатель на диалог внутри класса?

myclass
{
Dialog * d;
}

void slot()
{
 d = new Dialog;
}
?
Записан
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #6 : Август 18, 2011, 11:22 »

после закрытия диалога он уничтожается автоматически?
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #7 : Август 18, 2011, 11:24 »

после закрытия диалога он уничтожается автоматически?
Только если будет выставлен атрибут Qt::WA_DeleteOnClose.
Записан

Qt 5.11/4.8.7 (X11/Win)
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #8 : Август 18, 2011, 11:37 »

все спасибо разобрался
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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