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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Modeless диалог всегда торчит поверх родительской формы.  (Прочитано 7443 раз)
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« : Февраль 03, 2009, 10:53 »

Нужно 2 окна - родительская форма и modeless диалог. При получении фокуса любым из окон, оно должно всплывать наверх. А мodeless диалог всегда торчит наверху. Что уже не толко не перепробовал - ничего его не берет.  Злой
Записан
BRE
Гость
« Ответ #1 : Февраль 03, 2009, 11:42 »

Нужно 2 окна - родительская форма и modeless диалог. При получении фокуса любым из окон, оно должно всплывать наверх. А мodeless диалог всегда торчит наверху. Что уже не толко не перепробовал - ничего его не берет.  Злой
Так может не делать его модальным?
Сделать ему show(), место exec().
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #2 : Февраль 03, 2009, 11:49 »

я несколько раз отметил что диалог modeless, а не modal  Смеющийся
модальный вообще бы не дал фокусу переключиться.
Записан
BRE
Гость
« Ответ #3 : Февраль 03, 2009, 11:55 »

я несколько раз отметил что диалог modeless, а не modal  Смеющийся
модальный вообще бы не дал фокусу переключиться.
С утра это у меня, полная невнимательность.  Смеющийся
Записан
Alex03
Гость
« Ответ #4 : Февраль 04, 2009, 12:44 »

Цитировать
Modeless диалог всегда торчит поверх родительской формы
Обнулить родителя.
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #5 : Февраль 04, 2009, 15:51 »

эээ
тоесть

Код
C++ (Qt)
QDialog* dlg = new QDialog(NULL);
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #6 : Февраль 04, 2009, 17:07 »

нет просто "0",
а вообще есть ли смысл создавать диалог динамически, может всеже как обычную переменную?
Записан

Юра.
Alex03
Гость
« Ответ #7 : Февраль 05, 2009, 08:35 »

эээ
тоесть
Код
C++ (Qt)
QDialog* dlg = new QDialog(NULL);
Угу.
Ну а NULL или 0 в данном случае не принципиально. ИМХО лучше писать всё в одном стиле.
Записан
Alex03
Гость
« Ответ #8 : Февраль 05, 2009, 08:42 »

Впрочем даже скорее не
Код:
QDialog* dlg = new QDialog(NULL);
а
Код:
dlg = new QMyDialog(NULL);
Где QMyDialog* dlg - член класса (удаляемый в деструкторе и т.д.)
или
а вообще есть ли смысл создавать диалог динамически, может всеже как обычную переменную?
Т.е. член класса QMyDialog dlg
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #9 : Февраль 05, 2009, 10:24 »

ну для меня смысл в том, что нужна функция очистки полей диалога
и легче его грохнуть и возродить снова, чем писать функцию очистки)
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #10 : Февраль 05, 2009, 13:37 »

дак выйди из области видимости переменной да зайди заново.
Записан

Юра.
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #11 : Февраль 05, 2009, 17:44 »

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


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