Layout tutorial wanted
-
-
http://qt-project.org/doc/qt-5/layout.html (that is more for widget layouts, not QML but I guess you don't want to use QML for your layouts?)
also there are many examples shipped with Qt Creator itself. -
thank you for this suggestion, but i do not have a specific layout problem.
In some way (trial & error) i fixed the most designs i needed so far.
But i do not understand the systematic.
Most confusing is sizepolicy-settings. When it affects childs and when it's own behavior in a parent. What is a sizehint and where it comes from ?
When right-click on a widget in a Layout and select "size constraints",
what does the set Minimum , set maximum do ? It does not set a size but seems to set "yes, use minimum size settings". And of course "prferred"
"minimum expanding", "ignore" and so on. How are "size constraints" and
"size policies" related to each other ?
I'm already so messed up, that even my questions are stupid i think. -
-
I want to come back to Eddy's suggestion and ask a precise question.
Assuming i have a QGroupBox with a QVBoxLayout with Topalignment
and adding widgets to it. When the vertical space needed by these added widgets exceeds the height of the QGroupBox and i add even more widgets, the QGroupBox height grows and also its parent (centralwidget).
How to implement a vertical scrollbar to the QGroupBox which gets visible
when the required space by added new widgets exceeds the availbale height of this GroupBox ?. I do not want the growing QGroupBox makes its parent grow. -
Hi,
You would need a "QScrollArea":http:// as "main widget" inside your QGroupBox
-
That is what i achieved so far. In some way it works.
Seems i can not attach screenshots here, right ?
but i'll try to explain question.
How to get the widget containing all the Pushbuttons to fit
entirely to the width of QGroupbox (parent) but has limited heigth and
do not change parent size ?
and;
Why are the PushButtons also green. The stylesheet sets the background also for all childs ?@MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);QVBoxLayout *vb_1 = new QVBoxLayout; QGroupBox *gb_1 = new QGroupBox("gb_1-Title"); gb_1->setStyleSheet("background: beige;"); vb_1->addWidget(gb_1); QVBoxLayout *vb_2 = new QVBoxLayout; vb_2->setAlignment(Qt::AlignTop); for(int i=0;i<25;i++) { QPushButton *pb_x = new QPushButton; vb_2->addWidget(pb_x); } QWidget *vb_2W = new QWidget; vb_2W->setStyleSheet("background: green;"); vb_2W->setLayout(vb_2); QScrollArea *sa_1 = new QScrollArea(gb_1); sa_1->setBackgroundRole(QPalette::Dark); sa_1->setWidget(vb_2W); centralWidget()->setLayout(vb_1);
}@