crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Как создать дочерние окно без потери фокуса у родительского
flankerr
  опции профиля:
сообщение 27.7.2009, 18:09
Сообщение #1


Активный участник
***

Группа: Участник
Сообщений: 356
Регистрация: 9.1.2008
Пользователь №: 65

Спасибо сказали: 2 раз(а)




Репутация:   0  


Нужна некая форма (аля диалог без строки заголовка) на котрой расположены различные элементы управления (кнопки, чекбоксы, поля ввода и т.п.). Необходимо вывести эту форму поверх главного окна приложения дать пользователю возможность доступа к расположенным эл. управ. НО!! нужно чтобы фокус всё время оставался у главного окна.

Иными словами чтобы в процессе использования данной дочерний формы строка заголовка главного окна НЕ становилась серой (не активной\поерявшей фокус ввода.)

Как это сделать ???

ответ найден. вопрос снят.

Надо создать обычный диалог и в конструкторе сделать два вызова
setWindowFlags( Qt::CustomizeWindowHint);
setAutoFillBackground(true);
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 27.7.2009, 18:32
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9655
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(flankerr @ 27.7.2009, 22:09) *
setAutoFillBackground(true);
это явно мимо.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
flankerr
  опции профиля:
сообщение 27.7.2009, 19:03
Сообщение #3


Активный участник
***

Группа: Участник
Сообщений: 356
Регистрация: 9.1.2008
Пользователь №: 65

Спасибо сказали: 2 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 27.7.2009, 19:32) *
Цитата(flankerr @ 27.7.2009, 22:09) *
setAutoFillBackground(true);
это явно мимо.

Это явно необходимо. Иначе задний фон будет прозрачным.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 27.7.2009, 19:43
Сообщение #4


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9655
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(flankerr @ 27.7.2009, 23:03) *
Это явно необходимо. Иначе задний фон будет прозрачным.
ни уодного главного/диалогового окна по умолчанию фон не прозрачный.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
flankerr
  опции профиля:
сообщение 27.7.2009, 22:52
Сообщение #5


Активный участник
***

Группа: Участник
Сообщений: 356
Регистрация: 9.1.2008
Пользователь №: 65

Спасибо сказали: 2 раз(а)




Репутация:   0  


возможно мы о разном говорим.

Предположим есть QMainWindow который является родителем для QDialog
так вот если для QDialog вызвать
setWindowFlags( Qt::CustomizeWindowHint);
т.е. сбросить все имеющиеся флаги и установить флаг
Qt::CustomizeWindowHint
то без вызова
setAutoFillBackground(true);
(во вском случае если диалог создан через дизайнер) фон будет прозрачным.

это справедливо для Qt 4.2.1 и Qt 4.3.3 как в других версиях не знаю.

Сообщение отредактировал flankerr - 27.7.2009, 22:55
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 22.4.2019, 11:02