Try calling gridlayout->update() and see if that helps? On Tue, Mar 19, 2013 at 9:28 AM, Etienne Sandré-Chardonnal < etienne.san...@m4x.org> wrote:
> Dear all, > > I am encountering the following issue using QGridLayout in a widget. > > The QGridLayout is currently used for displaying labels along a grid with > two columns, in a subclassed QWidget. This QWidget was set as the widget of > a QSCrollArea, the QScrollArea is the content of a QDockWidget. > > > 1) In the QWidget constructor, I create the QGridLayout and populate it > with dummy labels for testing. This works: > > gridLayout = new QGridLayout(this); > setLayout(gridLayout); > > for(int i=0;i<15;i++) > { > QLabel * nameWidget = new QLabel("Testing!!!!!!", this); > gridLayout->addWidget(nameWidget, i, 0); > QLabel * statusWidget = new QLabel("N/A", this); > gridLayout->addWidget(statusWidget, i, 1); > } > > > This works as expected, especially the column size is adjusted to the > QLabel widths > > > 2) Then in a "setServerNames" slot of the QWidget, I do: > > QLayoutItem *child; > while ((child = gridLayout->takeAt(0)) != 0) { > delete child->widget(); > delete child; > } > > if(serverList.size()==0) > return; > > > for(int i=0;i<serverList.size();i++) > { > QLabel * nameWidget = new QLabel(serverList[i], this); > gridLayout->addWidget(nameWidget, i, 0); > QLabel * statusWidget = new QLabel("N/A", this); > gridLayout->addWidget(statusWidget, i, 1); > } > > > > > > When the slot is called, the layout is not refreshed : the column width > stays as it was adjusted in the constructor, so some of the QLabels are > cropped, while there is still plenty of space on the right. > Worse, if the layout is not populated in the constructor, then when the > slot is called, nothing is displayed, likely because the layout is not > refreshed, and sizes are null. > I'm using Qt 4.8.3 under Windows > > Any idea? > > Thanks! > > Etienne > > > > _______________________________________________ > Interest mailing list > Interest@qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > >
_______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest