1
/****************************************************************************
3
** Copyright (C) 2004-2005 Trolltech AS. All rights reserved.
5
** This file is part of the example classes of the Qt Toolkit.
7
** This file may be distributed under the terms of the Q Public License
8
** as defined by Trolltech AS of Norway and appearing in the file
9
** LICENSE.QPL included in the packaging of this file.
11
** This file may be distributed and/or modified under the terms of the
12
** GNU General Public License version 2 as published by the Free Software
13
** Foundation and appearing in the file LICENSE.GPL included in the
14
** packaging of this file.
16
** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
17
** information about Qt Commercial License Agreements.
18
** See http://www.trolltech.com/qpl/ for QPL licensing information.
19
** See http://www.trolltech.com/gpl/ for GPL licensing information.
21
** Contact info@trolltech.com if any conditions of this licensing are
24
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
25
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
27
****************************************************************************/
33
Window::Window(QWidget *parent)
36
QGridLayout *grid = new QGridLayout;
37
grid->addWidget(createFirstExclusiveGroup(), 0, 0);
38
grid->addWidget(createSecondExclusiveGroup(), 1, 0);
39
grid->addWidget(createNonExclusiveGroup(), 0, 1);
40
grid->addWidget(createPushButtonGroup(), 1, 1);
43
setWindowTitle(tr("Group Box"));
47
QGroupBox *Window::createFirstExclusiveGroup()
49
QGroupBox *groupBox = new QGroupBox(tr("Exclusive Radio Buttons"));
51
QRadioButton *radio1 = new QRadioButton(tr("&Radio button 1"));
52
QRadioButton *radio2 = new QRadioButton(tr("R&adio button 2"));
53
QRadioButton *radio3 = new QRadioButton(tr("Ra&dio button 3"));
55
radio1->setChecked(true);
57
QVBoxLayout *vbox = new QVBoxLayout;
58
vbox->addWidget(radio1);
59
vbox->addWidget(radio2);
60
vbox->addWidget(radio3);
62
groupBox->setLayout(vbox);
67
QGroupBox *Window::createSecondExclusiveGroup()
69
QGroupBox *groupBox = new QGroupBox(tr("E&xclusive Radio Buttons"));
70
groupBox->setCheckable(true);
71
groupBox->setChecked(false);
73
QRadioButton *radio1 = new QRadioButton(tr("Rad&io button 1"));
74
QRadioButton *radio2 = new QRadioButton(tr("Radi&o button 2"));
75
QRadioButton *radio3 = new QRadioButton(tr("Radio &button 3"));
76
radio1->setChecked(true);
77
QCheckBox *checkBox = new QCheckBox(tr("Ind&ependent checkbox"));
78
checkBox->setChecked(true);
80
QVBoxLayout *vbox = new QVBoxLayout;
81
vbox->addWidget(radio1);
82
vbox->addWidget(radio2);
83
vbox->addWidget(radio3);
84
vbox->addWidget(checkBox);
86
groupBox->setLayout(vbox);
91
QGroupBox *Window::createNonExclusiveGroup()
93
QGroupBox *groupBox = new QGroupBox(tr("Non-Exclusive Checkboxes"));
94
groupBox->setFlat(true);
96
QCheckBox *checkBox1 = new QCheckBox(tr("&Checkbox 1"));
97
QCheckBox *checkBox2 = new QCheckBox(tr("C&heckbox 2"));
98
checkBox2->setChecked(true);
99
QCheckBox *tristateBox = new QCheckBox(tr("Tri-&state button"));
100
tristateBox->setTristate(true);
101
tristateBox->setCheckState(Qt::PartiallyChecked);
103
QVBoxLayout *vbox = new QVBoxLayout;
104
vbox->addWidget(checkBox1);
105
vbox->addWidget(checkBox2);
106
vbox->addWidget(tristateBox);
108
groupBox->setLayout(vbox);
113
QGroupBox *Window::createPushButtonGroup()
115
QGroupBox *groupBox = new QGroupBox(tr("&Push Buttons"));
116
groupBox->setCheckable(true);
117
groupBox->setChecked(true);
119
QPushButton *pushButton = new QPushButton(tr("&Normal Button"));
120
QPushButton *toggleButton = new QPushButton(tr("&Toggle Button"));
121
toggleButton->setCheckable(true);
122
toggleButton->setChecked(true);
123
QPushButton *flatButton = new QPushButton(tr("&Flat Button"));
124
flatButton->setFlat(true);
126
QPushButton *popupButton = new QPushButton(tr("Pop&up Button"));
127
QMenu *menu = new QMenu(this);
128
menu->addAction(tr("&First Item"));
129
menu->addAction(tr("&Second Item"));
130
menu->addAction(tr("&Third Item"));
131
menu->addAction(tr("F&ourth Item"));
132
popupButton->setMenu(menu);
134
QVBoxLayout *vbox = new QVBoxLayout;
135
vbox->addWidget(pushButton);
136
vbox->addWidget(toggleButton);
137
vbox->addWidget(flatButton);
138
vbox->addWidget(popupButton);
140
groupBox->setLayout(vbox);