
Originally Posted by
wysota
What exactly do you mean that it is not "resizing automatically"? A resizeEvent is triggered after a resize, not before a resize. If you get a resizeEvent then the widget has already been resized.
Some more code.. The main widget contains three components (in different layouts). One is gauge, lcdnumber and a label. In this function I'm either showing gauge and hiding lcd or hiding gauge and showing lcd. Also I'm rearranging widgets because I want text label to be first. I was thinking that when layout is changed -> resize event is triggered and label is updated.
Now what happens when switching to condition noGauge==false is that gauge is hidden and font is resized correctly BUT the window size doesn't change and text that label contains is not shown fully . Only when I resize main window then label gets resized correctly and it shows full text
void switchView() {
if (noGauge) {
m_gauge->setVisible(true);
ui->lcdNumber->setHidden(true);
noGauge=false;
} else {
m_gauge->setVisible(false);
ui->lcdNumber->setVisible(true);
ui->layoutLCDTop->removeWidget(label);
ui->layoutLCDTop->addWidget(label);
ui->layoutLCDTop->addWidget(ui->lcdNumber);
noGauge=true;
}
}
void switchView() {
if (noGauge) {
m_gauge->setVisible(true);
ui->lcdNumber->setHidden(true);
noGauge=false;
} else {
m_gauge->setVisible(false);
ui->lcdNumber->setVisible(true);
ui->layoutLCDTop->removeWidget(label);
ui->layoutLCDTop->addWidget(label);
ui->layoutLCDTop->addWidget(ui->lcdNumber);
noGauge=true;
}
}
To copy to clipboard, switch view to plain text mode
Bookmarks