QT常用控件之QVBoxLayout,QRadioButton,QCheckBox,QMenu,QAction
来源:互联网 发布:南京行知基地 编辑:程序博客网 时间:2024/05/19 23:55
QT常用控件的组合
#include "mainwindow.h"#include <QGridLayout>#include <QVBoxLayout>#include <QWidget>#include <QRadioButton>//单选框#include <QCheckBox>//复选框#include <QPushButton>#include <QMenu>#include <QAction>MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent){ QGridLayout *grid = new QGridLayout; grid->addWidget(createFirstExclusiveGroup(),0,0); grid->addWidget(createSecondExclusiveGroup(),0,1); grid->addWidget(createNonExclusiveGroup(),1,0); grid->addWidget(createPushButtonGroup(),1,1); QWidget *widget = new QWidget; widget->setLayout(grid); widget->resize(480, 320); setCentralWidget(widget); setWindowTitle(tr("Group Boxes"));}MainWindow::~MainWindow(){}/* * QGroupBox窗口部件提供了一个有标题的组合框。组合框提供一个框架、一个标题和一个键盘快捷键, * 并且显示在它里面地其它不同窗口部件。标题在上面,键盘快捷键移动键盘焦点到组合框的一个子 * 窗口部件,并且子窗口部件将会排列在这个框架中地一个数组中。*/QGroupBox *MainWindow::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 *MainWindow::createSecondExclusiveGroup(){ QGroupBox *groupBox = new QGroupBox(tr("E&xclusive Radio Buttons")); groupBox->setCheckable(true);//组框使能选择钮开启 groupBox->setChecked(true);//初始化使能状态 QRadioButton *radio1 = new QRadioButton(tr("Rad&io button1")); QRadioButton *radio2 = new QRadioButton(tr("Radi&o buttoon2")); QRadioButton *radio3 = new QRadioButton(tr("Radio &button3")); 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); groupBox->setLayout(vbox); return groupBox;}QGroupBox *MainWindow::createNonExclusiveGroup(){ QGroupBox *groupBox = new QGroupBox(tr("No-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 buttton")); tristateBox->setTristate(true);//是否启用三种状态切换 tristateBox->setCheckState(Qt::PartiallyChecked);//介于Qt::Unchecked和Qt::Checked之间 QVBoxLayout *vbox = new QVBoxLayout; vbox->addWidget(checkBox1); vbox->addWidget(checkBox2); vbox->addWidget(tristateBox); vbox->addStretch(1); groupBox->setLayout(vbox); return groupBox;}QGroupBox *MainWindow::createPushButtonGroup(){ QGroupBox *groupBox = new QGroupBox(tr("&Push Button")); 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类提供了一个可以同时出现在菜单和工具条上的抽象用户界面操作 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); groupBox->setLayout(vbox); return groupBox;}
阅读全文
0 0
- QT常用控件之QVBoxLayout,QRadioButton,QCheckBox,QMenu,QAction
- qt中的菜单QMenu QAction
- qt中的菜单QMenu QAction
- QT - qss(三)QCheckBox和QRadioButton
- 关于QT的菜单QMenu和QAction
- QT之菜单栏QMenu,下拉菜单QAction,工具栏QToolBar的使用(二)
- 【转】QT之菜单栏QMenu,下拉菜单QAction,工具栏QToolBar的使用
- Qt常用类QRadioButton
- Qt Style Sheet实践(三):QCheckBox和QRadioButton
- Qt Style Sheet实践(三):QCheckBox和QRadioButton
- QT30 how to use QcheckBox and QRadioButton in qt
- Qt Style Sheet实践(三):QCheckBox和QRadioButton
- Qt常用类QCheckBox
- Qt之QRadioButton
- Qt学习笔记:QMenuBar()、QMenu()和QAction()的使用
- Qt菜单 QMenu QAction连接信号槽函数
- QPushButton & QToolButton & QCheckBox & QRadioButton
- 自定义QCheckBox以及QRadioButton
- viewPager fragment 懒加载
- ZXing二维码扫描
- for简单小训练
- [BZOJ]4491: 我也不知道题目名字是什么 线段树(差分)
- oracle 获取年月
- QT常用控件之QVBoxLayout,QRadioButton,QCheckBox,QMenu,QAction
- java导出word打不开
- MySQL的发展历程
- langdetect:语言检测-Python
- hibernate根据条件动态组装sql/hql语句(仿ibatis动态查询语句功能)
- iframe自适应高度
- WPF密码控件PasswordBox之 MVVM绑定使用
- 经济批量模型图解
- Flash视频播放器开发经验总结