QGroupBox类的使用专题-来自《零基础学Qt 4编程》一书第7章

qter_wd007 2010-03-06 07:58:43
专题:QGroupBox类的使用
QGroupBox为构建分组框提供了支持。分组框通常带有一个边框和一个标题栏,作为容器部件来使用,在其中可以布置各种窗口部件。分组框的标题通常在上方显示,其位置可以设置为靠左、居中、靠右、自动调整这几种方式之一。位于分组框之中的窗口部件可以获得应用程序的焦点。
位于分组框之内的窗口部件被称作是它的子窗口,通常使用addWidget()方法把子窗口部件加入到分组框之中。
使用分组框的一般步骤如下:
⒈ 实例化分组框对象
使用QGroupBox构造函数来实例化分组框对象,示例代码如下:
QGroupBox *groupBox = new QGroupBox(tr("Exclusive Radio Buttons"));
⒉ 创建位于分组框之中的子窗口部件
同样使用该窗口部件的构造函数来实现,示例代码如下:
QRadioButton *radio1 = new QRadioButton(tr("&Radio button 1"));
⒊ 创建一个布局
这个布局就是后面要设置在分组框之上的布局,Qt提供的常见布局类型比如水平布局、垂直布局、栅格布局、表单布局等都可以,目前还不支持分裂器布局。示例代码如下:
QVBoxLayout *vbox = new QVBoxLayout;
⒋ 把第2步创建的子窗口部件加入到第3步创建的布局之中
一般使用addWidget()或者insertWidget()方法把子窗口部件加入到布局之中。示例代码如下:
QVBoxLayout *vbox = new QVBoxLayout;
vbox->addWidget(radio1);
⒌ 把第3步创建的布局应用到分组框上
最后,使用setLayout()方法把布局应用到分组框上,示例代码如下:
groupBox->setLayout(vbox);
注意,创建分组框及其内部的子窗口部件时,以上次序不要改变。当分组框内部没有子窗口部件时,是无法为其应用布局的。再有就是,要牢固记得QGroupBox是QWidget的子类,QWidget的公有方法,它的对象都可以使用,它本身就是一个窗口部件。最后,一般情况下,在应用程序中只要使用了分组框,就要为它应用一个布局,请读者朋友注意体会。
下面是一个示例程序片段,它演示了创建分组框并为其设置布局的过程。
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);


以上内容来自《零基础学Qt 4编程》一书的第7章。
...全文
1058 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
haofan001 2011-05-13
  • 打赏
  • 举报
回复
shuo说得好,ix希望继续开课
sxcnfly 2010-03-06
  • 打赏
  • 举报
回复
多去官方网站就可以了.
MicroSky2813 2010-03-06
  • 打赏
  • 举报
回复
感觉书要这么写的话就没意思了,你可以写出你自己的一点个性来
不如直接先教下如何查询Qt的API 或者 Assistant,再简要的提一下使用例子

有很多地方你都想表达更多的意思,但又只是简单提一下,很难说这样的模式怎么样

16,202

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧