crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> QDialog в качестве элемента управления
Алексей1153
  опции профиля:
сообщение 14.6.2013, 22:48
Сообщение #1


фрилансер
******

Группа: Участник
Сообщений: 2939
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

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




Репутация:   34  


как это провернуть ? Он (диалог-контрол) упорно не желает лежать в виде контрола, а предпочитает висеть оторвано от диалога-родителя

убирание рамки и заголовка не помогает
setWindowFlags(windowFlags()|=Qt::FramelessWindowHint);
setWindowFlags(windowFlags()&=~Qt::WindowTitleHint);


- при этом контрол всё равно висит "в воздухе"

поиском также не сумел найти, как это решить
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 15.6.2013, 14:09
Сообщение #2


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

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

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




Репутация:   94  


Лучше б, конечно, не помещать диалог в качестве виджета, а делать виджет, который можно поместить в другой виджет или в диалог.
Но если припёрло, то попробуй установить флаг Qt::Widget
dialog->setWindowFlags(Qt::Widget)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 16.6.2013, 8:00
Сообщение #3


фрилансер
******

Группа: Участник
Сообщений: 2939
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

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




Репутация:   34  


Litkevich Yuriy, вот так заработало. А когда передавал через конcтруктор QDialog - не работало ) Странно

а насчёт "надо" - да, надо, чтобы было можно в редакторе форм им крутить
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 16.6.2013, 12:25
Сообщение #4


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

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

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




Репутация:   94  


Цитата(Алексей1153 @ 16.6.2013, 10:00) *
А когда передавал через конcтруктор QDialog - не работало ) Странно
ну он задуман как диалог поэтому и ведёт себя специфически, вот конструктор
QDialog::QDialog(QWidget *parent, Qt::WindowFlags f)
    : QWidget(*new QDialogPrivate, parent,
              f | ((f & Qt::WindowType_Mask) == 0 ? Qt::Dialog : Qt::WindowType(0)))
т.е. Qt::Widget = 0, если в конструктор помещаем, то получается, что в конструктор QWidget уйдёт флажёк Qt::Dialog
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 29.4.2024, 0:58