kartun
28th January 2011, 09:35
I've QGridLayout on my widget and I need to add several elements to it during runtime.
Everything is fine, but I need to calculate and store proper height for added elements. I've tried to get it through
ui->setupUi(this);
...
createRuler(minValue, maxValue, steps);
in createRuler I've tried this :
int frame_height = ui->rulerLayout->geometry().height() / steps;
But it allways return 0; However inside setupUi there is a code :
gridLayoutWidget = new QWidget(rulerFrame);
gridLayoutWidget->setObjectName(QString::fromUtf8("gridLayoutWidget"));
gridLayoutWidget->setGeometry(QRect(0, 0, 61, 361));
rulerLayout = new QGridLayout(gridLayoutWidget);
rulerLayout->setSpacing(6);
rulerLayout->setMargin(11);
rulerLayout->setObjectName(QString::fromUtf8("rulerLayout"));
rulerLayout->setSizeConstraint(QLayout::SetMinAndMaxSize);
rulerLayout->setContentsMargins(0, 0, 0, 0);
horizontalLayout->addWidget(rulerFrame);
Everything is fine, but I need to calculate and store proper height for added elements. I've tried to get it through
ui->setupUi(this);
...
createRuler(minValue, maxValue, steps);
in createRuler I've tried this :
int frame_height = ui->rulerLayout->geometry().height() / steps;
But it allways return 0; However inside setupUi there is a code :
gridLayoutWidget = new QWidget(rulerFrame);
gridLayoutWidget->setObjectName(QString::fromUtf8("gridLayoutWidget"));
gridLayoutWidget->setGeometry(QRect(0, 0, 61, 361));
rulerLayout = new QGridLayout(gridLayoutWidget);
rulerLayout->setSpacing(6);
rulerLayout->setMargin(11);
rulerLayout->setObjectName(QString::fromUtf8("rulerLayout"));
rulerLayout->setSizeConstraint(QLayout::SetMinAndMaxSize);
rulerLayout->setContentsMargins(0, 0, 0, 0);
horizontalLayout->addWidget(rulerFrame);