Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > Использование GridLayout-компоновки


Автор: kuvshinka 11.3.2010, 16:28
Как с помощью QGridLayout-виджета (наверное) можно расположить 4, например кнопки, следующим образом: 3 кнопки одна под другой без зазоров между ними, а четвертая – справа от них вплотную к ним и по высоте равна суммарной высоте этих 3 кнопок … 

Пробую так:
    
Код

 ui->gridLayout->addWidget( ui->pushButton_1,0,0);
     ui->gridLayout->addWidget( ui->pushButton_2,1,0);
     ui->gridLayout->addWidget( ui->pushButton_3,2,0);
     ui->gridLayout->addWidget( ui->pushButton_4,0,1,3,1);


но как убрать зазоры между кнопками 1-3, ими и кнопкой4 + сделав ее нужной высоты?
Как можно программно менять высоту кнопок и вертикальный зазор между кнопками1-3 и кнопкой4?
параметры layoutHorizontalSpacing и layoutVerticalSpacing gridLayout-а равны нулю…
может компоновку надо какую делать на форме или еще что?

Автор: kuvshinka 11.3.2010, 20:18
вау...неужели я спросила что-то мега сложное, коли никто не знает как это сделать...

Автор: JackYF 11.3.2010, 20:46

M
JackYF
kuvshinka, напрасно думаете, что люди на форуме круглосуточно сидят. Подождать ответа пару дней - абсолютно нормально.


У layout'а ещё вроде было свойство(а) margins, проверьте его(их).

Автор: arial 11.3.2010, 22:51
Код
QGridLayout *layout = new QGridLayout();

QPushButton *btn1 = new QPushButton(QString("btn1"), this);
QPushButton *btn2 = new QPushButton(QString("btn2"), this);
QPushButton *btn3 = new QPushButton(QString("btn3"), this);
QPushButton *btn4 = new QPushButton(QString("btn4"), this);
btn4->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Expanding);

layout->addWidget(btn1, 0, 0);
layout->addWidget(btn2, 1, 0);
layout->addWidget(btn3, 2, 0);
layout->addWidget(btn4, 0, 1, 3, 1);

Автор: kuvshinka 11.3.2010, 23:24
arial: хорошо.... а как в таком случае можно программно менять высоту кнопок1-3, вертикальный зазор между кнопками1-3 и кнопкой4?

Автор: arial 12.3.2010, 08:05
http://doc.crossplatform.ru/qt/4.6.x/qgridlayout.html#horizontalSpacing-prop
http://doc.crossplatform.ru/qt/4.6.x/qgridlayout.html#verticalSpacing-prop
http://doc.crossplatform.ru/qt/4.6.x/layout.html

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)