crossplatform.ru

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


  Ответ в Как создать дочерние окно без потери фокуса у родительского
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
flankerr Дата 27.7.2009, 22:52
  возможно мы о разном говорим.

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

это справедливо для Qt 4.2.1 и Qt 4.3.3 как в других версиях не знаю.
Litkevich Yuriy Дата 27.7.2009, 19:43
 
Цитата(flankerr @ 27.7.2009, 23:03) *
Это явно необходимо. Иначе задний фон будет прозрачным.
ни уодного главного/диалогового окна по умолчанию фон не прозрачный.
flankerr Дата 27.7.2009, 19:03
 
Цитата(Litkevich Yuriy @ 27.7.2009, 19:32) *
Цитата(flankerr @ 27.7.2009, 22:09) *
setAutoFillBackground(true);
это явно мимо.

Это явно необходимо. Иначе задний фон будет прозрачным.
Litkevich Yuriy Дата 27.7.2009, 18:32
 
Цитата(flankerr @ 27.7.2009, 22:09) *
setAutoFillBackground(true);
это явно мимо.
flankerr Дата 27.7.2009, 18:09
  Нужна некая форма (аля диалог без строки заголовка) на котрой расположены различные элементы управления (кнопки, чекбоксы, поля ввода и т.п.). Необходимо вывести эту форму поверх главного окна приложения дать пользователю возможность доступа к расположенным эл. управ. НО!! нужно чтобы фокус всё время оставался у главного окна.

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

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

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

Надо создать обычный диалог и в конструкторе сделать два вызова
setWindowFlags( Qt::CustomizeWindowHint);
setAutoFillBackground(true);
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 29.3.2024, 18:43