Недавно начал изучать QT, пытаюсь накидать просто проект чтобы понять как что работает. И это никак не получается =/
Мне нужно чтобы в шаблоне mainWindow, был компоновщик содержащий к примеру два списка, при этом изменения размеров окна как то отражались на размерах содержимого компоновщика (списках).
Пытаюсь сделать это так:
Создаю проект с шаблоном mainWindow.
В QT Designere:
Добавляю на centralWidget, HorizontalLayout.
В это LayOut запихиваю два списка.
И не могу понять как сделать так, чтобы при изменение размера окна, изменялся размер списков.
У меня получается просто изменение размера окна, никак не меняет размеры списков.
PS: Перепробовал кучи вариантов, мозг просто опух. Ничего не могу понять, все что прочитал противоречиво. Примеры сложные и момент в котором настраивается растяжение запрятан неизвестно где. Подскажите плз как решить поставленную задачу, или хотя бы где можно прочитать (понятным, простым языком) про то как это можно это реализовать.
Омг дизайнер - зло.
О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();
//Просьба не обращать внимание на небольшую утечку памяти)
}
Всем спасибо, все понял))))
PS: Извиняюсь за дикую тупость
Трёп выделил: http://www.forum.crossplatform.ru/index.php?showtopic=5870
bvn13, K1L0z, читайте про компоновщики:
http://doc.crossplatform.ru/qt/4.6.x/widgets-and-layouts.html
и http://doc.crossplatform.ru/qt/4.6.x/designer-layouts.html
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)