You can edit the policies for labels to make them expand "larger" then the spacer (I think i finally understood your problem
)
//...
label1->setMaximumHeight(120);
label2->setMaximumHeight(120);
label3->setMaximumHeight(120);
policy.setVerticalStretch(3); //don't remember the exact "formula" but 3 should be enough
label1->setSizePolicy(policy);
label2->setSizePolicy(policy);
label3->setSizePolicy(policy);
mainLayout->addWidget(label1);
mainLayout->addWidget(label2);
mainLayout->addWidget(label3);
mainLayout->addSpacerItem(spacer);
//don't set sizepolicy again... if you want other then prefered set it before policy edit
//label1->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
//label2->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
//label3->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
//...
//...
label1->setMaximumHeight(120);
label2->setMaximumHeight(120);
label3->setMaximumHeight(120);
QSizePolicy policy = label1->sizePolicy();
policy.setVerticalStretch(3); //don't remember the exact "formula" but 3 should be enough
label1->setSizePolicy(policy);
label2->setSizePolicy(policy);
label3->setSizePolicy(policy);
QSpacerItem *spacer = new QSpacerItem(0, 0, QSizePolicy::Minimum, QSizePolicy::MinimumExpanding);
mainLayout->addWidget(label1);
mainLayout->addWidget(label2);
mainLayout->addWidget(label3);
mainLayout->addSpacerItem(spacer);
//don't set sizepolicy again... if you want other then prefered set it before policy edit
//label1->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
//label2->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
//label3->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
//...
To copy to clipboard, switch view to plain text mode
Bookmarks