⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 4.10 实例:组框的使用.txt

📁 qt的源代码
💻 TXT
字号:
#ifndef WINDOW_H
 #define WINDOW_H
 #include <QWidget>
 class QGroupBox;
class Window : public QWidget
 {
     Q_OBJECT
 public:
     Window(QWidget *parent = 0);
private:
     QGroupBox *createFirstExclusiveGroup();
     QGroupBox *createSecondExclusiveGroup();
     QGroupBox *createNonExclusiveGroup();
     QGroupBox *createPushButtonGroup();
 };
 #endif
#include <QtGui>
 #include "window.h"
 Window::Window(QWidget *parent)
     : QWidget(parent)
 {
     QGridLayout *grid = new QGridLayout;
     grid->addWidget(createFirstExclusiveGroup(), 0, 0);
     grid->addWidget(createSecondExclusiveGroup(), 1, 0);
     grid->addWidget(createNonExclusiveGroup(), 0, 1);
     grid->addWidget(createPushButtonGroup(), 1, 1);
     setLayout(grid);
 setWindowTitle(tr("Group Boxes"));
     resize(480, 320);
 }
 QGroupBox *Window::createFirstExclusiveGroup()
 {
     QGroupBox *groupBox = new QGroupBox(tr("Exclusive Radio Buttons"));
     QRadioButton *radio1 = new QRadioButton(tr("&Radio button 1"));
     QRadioButton *radio2 = new QRadioButton(tr("R&adio button 2"));
     QRadioButton *radio3 = new QRadioButton(tr("Ra&dio button 3"));
     radio1->setChecked(true);
 QVBoxLayout *vbox = new QVBoxLayout;
     vbox->addWidget(radio1);
     vbox->addWidget(radio2);
     vbox->addWidget(radio3);
     vbox->addStretch(1);
     groupBox->setLayout(vbox);
 return groupBox;
 }
 QGroupBox *Window::createSecondExclusiveGroup()
 {
     QGroupBox *groupBox = new QGroupBox(tr("E&xclusive Radio Buttons"));
     groupBox->setCheckable(true);
     groupBox->setChecked(false);
     QRadioButton *radio1 = new QRadioButton(tr("Rad&io button 1"));
     QRadioButton *radio2 = new QRadioButton(tr("Radi&o button 2"));
     QRadioButton *radio3 = new QRadioButton(tr("Radio &button 3"));
     radio1->setChecked(true);
     QCheckBox *checkBox = new QCheckBox(tr("Ind&ependent checkbox"));
     checkBox->setChecked(true);
QVBoxLayout *vbox = new QVBoxLayout;
     vbox->addWidget(radio1);
     vbox->addWidget(radio2);
     vbox->addWidget(radio3);
     vbox->addWidget(checkBox);
     vbox->addStretch(1);
            groupBox->setLayout(vbox);
     return groupBox;
 }
QGroupBox *Window::createNonExclusiveGroup()
 {
     QgroupBox *groupBox=new QGroupBox(tr("Non-Exclusive Checkboxes"));
     groupBox->setFlat(true);
     QCheckBox *checkBox1 = new QCheckBox(tr("&Checkbox 1"));
     QCheckBox *checkBox2 = new QCheckBox(tr("C&heckbox 2"));
     checkBox2->setChecked(true);
     QCheckBox *tristateBox = new QCheckBox(tr("Tri-&state button"));
     tristateBox->setTristate(true);
     tristateBox->setCheckState(Qt::PartiallyChecked);
     QVBoxLayout *vbox = new QVBoxLayout;
     vbox->addWidget(checkBox1);
     vbox->addWidget(checkBox2);
     vbox->addWidget(tristateBox);
     vbox->addStretch(1);
     groupBox->setLayout(vbox);
     return groupBox;
 }
QGroupBox *Window::createPushButtonGroup()
 {
     QGroupBox *groupBox = new QGroupBox(tr("&Push Buttons"));
     groupBox->setCheckable(true);
     groupBox->setChecked(true);
     QPushButton *pushButton = new QPushButton(tr("&Normal Button"));
     QPushButton *toggleButton = new QPushButton(tr("&Toggle Button"));
     toggleButton->setCheckable(true);
     toggleButton->setChecked(true);
     QPushButton *flatButton = new QPushButton(tr("&Flat Button"));
     flatButton->setFlat(true);
QPushButton *popupButton = new QPushButton(tr("Pop&up Button"));
     QMenu *menu = new QMenu(this);
     menu->addAction(tr("&First Item"));
     menu->addAction(tr("&Second Item"));
     menu->addAction(tr("&Third Item"));
     menu->addAction(tr("F&ourth Item"));
     popupButton->setMenu(menu);
     QAction *newAction = menu->addAction(tr("Submenu"));
     QMenu *subMenu = new QMenu(tr("Popup Submenu"));
     subMenu->addAction(tr("Item 1"));
     subMenu->addAction(tr("Item 2"));
     subMenu->addAction(tr("Item 3"));
 newAction->setMenu(subMenu);
 QVBoxLayout *vbox = new QVBoxLayout;
     vbox->addWidget(pushButton);
     vbox->addWidget(toggleButton);
     vbox->addWidget(flatButton);
     vbox->addWidget(popupButton);
     vbox->addStretch(1);
     groupBox->setLayout(vbox);
     return groupBox;
 }
#include <QApplication>
#include "window.h"
int main(int argc, char *argv[])
 {
     QApplication app(argc, argv);
     Window window;
     window.show();
     return app.exec();
 }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -