[Qt-interest] QGroupBox with a MultiCell Widget
Jake Colman
colman at ppllc.com
Wed Apr 29 16:55:38 CEST 2009
>>>>> "AP" == Andreas Pakulat <apaku at gmx.de> writes:
AP> On 29.04.09 09:00:50, Jake Colman wrote:
>> >>>>> "AP" == Andreas Pakulat <apaku at gmx.de> writes:
>>
AP> On 28.04.09 23:13:24, Jake Colman wrote:
>> >>
>>
>> >> I want to layout a QGroupBox in a grid but I need one of the
>> >> widgets to be multi-cell the way it would be in a QGridLayout.
>> >> The QGroupBox API does not support this. Is there a way to create
>> >> the QGroupBox and have it use a QGridLayout that contains my
>> >> widgets? If I create the QGroupBox without a layout, I cannot use
>> >> its layout() method to be the parent of a QGridLayout() since
>> >> layout() returns NULL. If I create the QGroupBox() with some
>> >> bogus layout (e.g., 1 horizontal strip) the layout() method will
>> >> return a value. Is it legitimate that use that value as the
>> >> parent of a QGridLayout and will that QGridLayout supercede the
>> >> bogus layout in the QGroupBox?
>>
AP> Why not use QGroupBox::setLayout( new GridLayout() )? That should
AP> work just fine (and thats actually what happens in
AP> designer-generated code when you create a groupbox and set a
AP> gridlayout on it).
>>
>> If it only it were that simple...
>>
>> I am still on Qt 3.x and setLayout() is not an exposed method of
>> QWidget.
AP> Well, then simply construct the QGridLayout with the QGroupBox as
AP> parent, it'll set itself as layout for the groupbox and as you
AP> said the groupbox doesn't have a layout yet at that time this
AP> should be perfectly ok.
Andrea,
So you are suggesting the following:
QGroupBox* GB = new QGroupBox( "Definition", this, "GB" );
QGridLayout* GL = new QGridLayout( GB, 2, 5, 0, -1, "GL" );
How do I create the widgets that are supposed to be contained in the GB
and laid out in specific cells of the GL? Are the widgets parented by
GB and then I use GL->addWidget() to position them in the grid? I
played with different things but cannot get it to work quite right.
Thanks.
...Jake
--
Jake Colman | Director, Software Development
Principia Partners LLC
101 West Elm Street | Conshohocken | PA 19428 | +1 (610) 755 9770
t: +1 (610) 755 9786 | c: +1 (610) 348 2788 | f: +1 (201) 221 8929
e: colman at ppllc.com | w: www.principiapartners.com
Credit technology innovation awards winner 2008
More information about the Qt-interest-old
mailing list