QGroupBox窗口部件提供了一个有标题的组合框

组合框提供一个框架、一个标题和一个键盘快捷键,并且显示在它里面地其它不同窗口部件。标题在上面,键盘快捷键移动键盘焦点到组合框的一个子窗口部件,并且子窗口部件将会排列在这个框架中地一个数组中

使用它的最简单方式是创建一个为你所想要的列数(或者行数)和方向的组合框,并且然后创建其它窗口部件时,把这个组合框作为父对象

然而,也可以在构造函数之后改变方向(orientation())和列数(或者行数,columns()),或者忽略所有自动布局支持并且自己来管理所有的这一切。你也可以通过addSpace()把“空白”添加到组合框中

QGroupBox也让你设置标题(title(),通常在构造函数中设置)和标题对齐方式(alignment())

Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
QGridLayout *grid = new QGridLayout;
grid->addWidget(createFirstExclusiveGroup(),0,0);
grid->addWidget(createSecondExclusiveGroup(),0,1);
grid->addWidget(createNonExclusiveGroup(),1,0); QWidget *widget = new QWidget;
widget->setLayout(grid);
widget->resize(480, 320);
widget->show();
}

QGroupBox *Widget::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 *Widget::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 *Widget::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的更多相关文章

  1. Qt QGroupBox StyleSheet 边框设置

    /**************************************************************************** * Qt QGroupBox StyleSh ...

  2. 2.QLabel,QPushButton,QLineEdit,QComboBox,QCheckBox,QRadioButton,QTextEdit,QTextBrowser,QGroupBox,QSl

     1.新建一个空项目(其它项目->空QT项目): 2  添加新文件(选择C++Class) MyWidget.h #ifndef MYWIDGET_H #define MYWIDGET_H ...

  3. 组合框QGroupBox

    样式: 注意:内部必须使用布局控件 import sys from PyQt5.QtCore import Qt from PyQt5.QtGui import QPixmap from PyQt5. ...

  4. Qt容器组件(一)之QGroupBox、QScrollArea、QToolBox、QTabWidget

    QT中有九种容器组件,分别是组合框QGroupBox.滚动区QScrollArea.工具箱QToolBox.选项卡QTabWidget.控件栈QWidgetStack.框架QFrame.组件QWidg ...

  5. Python 创建本地服务器环境生成二维码

    一. 需求 公司要做一个H5手机端适配页面,因技术问题所以H5是外包的,每次前端给我们源码,我们把源码传到服务器让其他人访问看是否存在bug,这个不是很麻烦吗?有人说,可以让前端在他们的服务器上先托管 ...

  6. 模拟提交API数据Pyqt版

    其实这个模拟提交数据之前已经写过篇: Python requests模拟登录 因为现在在做的项目中需要一个debug请求调试API,用PHP的CURL写了一个,又因Pyqt更能直观灵活的显示请求的参数 ...

  7. Qt And MFC UI Layout

    界面布局 起初,计算机的交互是通过输入的代码进行的, 慢慢的有了图形之后, 就开始了图形界面的交互. 目前来说还有语音交互, 视频交互等多媒体的交互. 不管哪一种交互, 最终在计算机的角度都是信号的输 ...

  8. Qt on Android 核心编程

    Qt on Android 核心编程(最好看的Qt编程书!CSDN博主foruok倾力奉献!) 安晓辉 著   ISBN 978-7-121-24457-5 2015年1月出版 定价:65.00元 4 ...

  9. Qt StyleSheet皮肤css源码

    使用方式如下 //设置皮肤样式 static void SetStyle(const QString &styleName) { QFile file(QString(":/imag ...

随机推荐

  1. android 应用签名的作用

    来源:https://www.jianshu.com/p/61206c96471a 1..应用程序升级:如果你希望用户无缝升级到新的版本,那么你必须用同一个证书进行签名.这是由于只有以同一个证书签名, ...

  2. getField和getDeclaredField的区别

    这两个方法都是用于获取字段getField 只能获取public的,包括从父类继承来的字段.getDeclaredField 可以获取本类所有的字段,包括private的,但是不能获取继承来的字段. ...

  3. aar api 导出

    import fsys; import math; var pidMap = {}; math.randomize(); fsys.enum( "~\lib", "*.* ...

  4. android webview带cookie访问url

    问题描述在原生和h5混合开发的时候会遇到这么一个问题,用webview加载某个url时,你只是app登录了账号,但是网页却没有,所有会禁止访问此url,webview就会显示白屏.所以要访问此url, ...

  5. ABAP函数篇1 日期函数

    1. 日期格式字段检查 data:l_date type ekko-bedat. l_date = '20080901'. CALL FUNCTION 'DATE_CHECK_PLAUSIBILITY ...

  6. python中的随机函数random的用法示例

    python中的随机函数random的用法示例 一.random模块简介 Python标准库中的random函数,可以生成随机浮点数.整数.字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据 ...

  7. kubectl exec 执行 容器命令

    格式如下: kubectl exec -it podName -c containerName -n namespace -- shell comand 1 创建目录 kubectl exec -it ...

  8. Juniper总结

    Juniper的路由器分为两个部分——RE和PFE.不过貌似大部分路由器都分为这两个部分.... Routing Engine: 当密码授权通过之后,用户就进入了RoutingEngine中,在其中可 ...

  9. 在 FR 网络配置 OSPF

    一.环境准备 1. 软件:GNS3 2. 路由:c7200 二.实验操作 实验要求: 1.掌握配置帧中继的基本方法. 2.掌握在路由器中模拟帧中继交换机的方法. 3.掌握 NBMA 网络中 OSPF  ...

  10. [转帖]鲁大师Q3季度PC内存排行:DDR3彻底淘汰 DDR5要来了

    鲁大师Q3季度PC内存排行:DDR3彻底淘汰 DDR5要来了 https://www.cnbeta.com/articles/tech/902347.htm 10月23日消息,今天鲁大师公布Q3季度P ...