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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Правильно скомпоновать контролы через Layout  (Прочитано 2673 раз)
Максим
Гость
« : Август 19, 2016, 13:50 »

Доброго времени суток.
Борюсь с компоновкой элементов окна.
Есть окно, унаследованное от QMdiSubWindow. На нём размещаю несколько QLCDNumber. Пытался скомпоновать ПКМ на виджете окна -> скомпоновать по сетке. В конструкторе нормально компонуется, при запуске всё скомкано в кучу в левом-верхнем углу, а компилятор выдаёт предупреждение:
QLayout: Attempting to add QLayout "" to CurrentParams "CurrentParams", which already has a layout
Прошёлся дебагером. Предупреждение получаю на этапе конструктора ui дочернего окна:
Код:
void setupUi(QWidget *CurrentParams)
    {
        if (CurrentParams->objectName().isEmpty())
            CurrentParams->setObjectName(QStringLiteral("CurrentParams"));
        CurrentParams->resize(563, 420);
        gridLayout_2 = new QGridLayout(CurrentParams); // на этом месте получаю предупреждение
...

Что я делаю не так?
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #1 : Август 19, 2016, 23:03 »

setupUi один раз вызывается?
Записан

Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4349



Просмотр профиля
« Ответ #2 : Август 20, 2016, 02:54 »

Не надо наследоваться от QMdiSubWindow, это окно контейнер для пользовательского виджета, со своим layout. Пользовательский виджет должен устанавливаться методом setWidget.
В документации же все расписано с примерами.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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