QT的QGroupBox

2022-12-27 10:16:58 来源:51CTO博客


【资料图】

#include #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;}

标签: Popup subMenu groupBox

上一篇:天天最新:STL库之集合基本使用方法
下一篇:当前热点-C#/VB.NET 如何在Word表格中拆分或合并单元格?​​