crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Растяжение виджетов, туплю
Гость_Гость_Дмитрий_*_*
сообщение 30.10.2010, 18:27
Сообщение #1





Гости








    


Недавно начал изучать QT, пытаюсь накидать просто проект чтобы понять как что работает. И это никак не получается =/

Мне нужно чтобы в шаблоне mainWindow, был компоновщик содержащий к примеру два списка, при этом изменения размеров окна как то отражались на размерах содержимого компоновщика (списках).

Пытаюсь сделать это так:
Создаю проект с шаблоном mainWindow.
В QT Designere:
Добавляю на centralWidget, HorizontalLayout.
В это LayOut запихиваю два списка.

И не могу понять как сделать так, чтобы при изменение размера окна, изменялся размер списков.
У меня получается просто изменение размера окна, никак не меняет размеры списков.

PS: Перепробовал кучи вариантов, мозг просто опух. Ничего не могу понять, все что прочитал противоречиво. Примеры сложные и момент в котором настраивается растяжение запрятан неизвестно где. Подскажите плз как решить поставленную задачу, или хотя бы где можно прочитать (понятным, простым языком) про то как это можно это реализовать.

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Авварон
  опции профиля:
сообщение 30.10.2010, 22:18
Сообщение #2


Студент
*

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

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




Репутация:   0  


Омг:( дизайнер - зло.
О5 25 в кратце - есть всего 1 способ расположить виждеты в определенном порядке - нужно взять виджет parent, виджеты child1...childn, взять лайаут layout. Сделать layout.addWidget(childi); добавив виджеты, затем сделать parent->setLayout(layout);
В дизайнере, перетаскивая лайаут на форму, вы создаете дополнительный виджет (к-ый не видно в дизайнере), вешаете ему лайаут и добавляете в него виджет. НО можно кликнуть правый клик по любому виджету и назначить лайаут ему. Тогда все, что лежит на нем, укладывается в соответствии с лайаутом в размеры виджета.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_Гость_Дмитрий_*_*
сообщение 31.10.2010, 8:41
Сообщение #3





Гости








    


Цитата(Авварон @ 30.10.2010, 22:18) *
Омг:( дизайнер - зло.
О5 25 в кратце - есть всего 1 способ расположить виждеты в определенном порядке - нужно взять виджет parent, виджеты child1...childn, взять лайаут layout. Сделать layout.addWidget(childi); добавив виджеты, затем сделать parent->setLayout(layout);
В дизайнере, перетаскивая лайаут на форму, вы создаете дополнительный виджет (к-ый не видно в дизайнере), вешаете ему лайаут и добавляете в него виджет. НО можно кликнуть правый клик по любому виджету и назначить лайаут ему. Тогда все, что лежит на нем, укладывается в соответствии с лайаутом в размеры виджета.

Как я вас понял:
#include <QtGui>
int main(int argc, char** argv)
{
    QApplication app(argc, argv);
    QWidget wgt;
    QListWidget* lwA = new QListWidget;
    QListWidget* lwB = new QListWidget;
    QBoxLayout* h1 = new QBoxLayout(QBoxLayout::LeftToRight);
    h1->addWidget(lwA);
    h1->addWidget(lwB);
    wgt.setLayout(h1);
    wgt.show();
    return app.exec();
//Просьба не обращать внимание на небольшую утечку памяти)
}



Действительно растяжение окна изменяет размеры списков. Но как сделать тоже самое в QT Designer'e?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_Гость_Дмитрий_*_*
сообщение 31.10.2010, 8:55
Сообщение #4





Гости








    


Всем спасибо, все понял))))

PS: Извиняюсь за дикую тупость :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 31.10.2010, 9:42
Сообщение #5


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

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

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




Репутация:   94  


Трёп выделил: компоновщики или якоря?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
bvn13
  опции профиля:
сообщение 31.10.2010, 13:13
Сообщение #6


Студент
*

Группа: Новичок
Сообщений: 11
Регистрация: 22.10.2010
Пользователь №: 2143

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




Репутация:   0  


Цитата(Гость_Дмитрий_* @ 31.10.2010, 9:55) *
Всем спасибо, все понял))))

PS: Извиняюсь за дикую тупость :)


Расскажите, плз. Тоже интересно, как это дизайнером делать
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
K1L0z
  опции профиля:
сообщение 31.10.2010, 15:27
Сообщение #7


Студент
*

Группа: Новичок
Сообщений: 14
Регистрация: 29.10.2010
Пользователь №: 2160

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




Репутация:   0  


Цитата(bvn13 @ 31.10.2010, 14:13) *
Расскажите, плз. Тоже интересно, как это дизайнером делать

мне то же интересно :mellow:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 31.10.2010, 15:32
Сообщение #8


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

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

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




Репутация:   94  


bvn13, K1L0z, читайте про компоновщики:
тыц
и тыц
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 28.3.2024, 15:53