QGroupBox类的使用专题-来自《零基础学Qt 4编程》一书第7章解决思路
发布时间:2010-05-30 21:31:34 文章来源:www.iduyao.cn 采编人员:星星草
QGroupBox类的使用专题-来自《零基础学Qt 4编程》一书第7章
专题: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章。
------解决方案--------------------
感觉书要这么写的话就没意思了,你可以写出你自己的一点个性来
不如直接先教下如何查询Qt的API 或者 Assistant,再简要的提一下使用例子
有很多地方你都想表达更多的意思,但又只是简单提一下,很难说这样的模式怎么样
------解决方案--------------------
多去官方网站就可以了.
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
Qt Creator 2.1 Beta 2 和Qt 4.7.1 发布
转载:http://www.cmdn.net/news/1148
诺基亚发布了Qt框架的跨平台开发环境(IDE) –Qt Cre...
-
Qt菜单的显示问题
我的是在ubuntu11.10虚拟机上运行的qt creator4,现在刚入门,按照http://www.yafeilinux.com/?p=30的例子添加菜单...
-
'make' 不是内部或外部命令,也不是可运行的程序或批处理文件?
根据HTML code
http://v.youku.com/v_show/id_XMTA1NDEzODUy.html
的...
-
visual studio 2010编译qt的demo无法运行,求教。
安装的qt-win-opensource-4.8.0-vs2010.exe和qt-vs-addin-1.1.10.exe
然后想运行...
-
QT,'HANDLE'没有命名的一个类型
网上说QT是,一处编写,处处编译,可是我在windows下写好了串口通讯程序,在linux下编译时,却提示'HANDLE'...
-
关于QT的授权
一直都没搞懂QT的商业授权是怎么回事,请问如果我用QT在电视机机顶盒上开发一款基于QT的播放器,如果我没有获得商业授...
-
有关QTable制作表格保存问题
我使用的是QT2,需要制作一个表格,然后输入数据后保存。我源码在以下网址,set.zip压缩包中http://www.qt...
-
Qt怎样禁止用户最大化窗口
用Qt写一个窗口,如果继承QDialog,那窗口就只有关闭按钮,如果继承QWidget,那么就有关闭,最大化,最小化三个按...
-
QT4.4.3版本窗体透明后界面失去焦点无法响应键盘事件
用的是Qt4.4.3版本,窗体透明的方法如下:
C/C++ code
QPalette pal = pale...
-
QT4下载到开发板的问题
友善的2440开发板,按照一些教程装好了QT4在Linux下的开发环境。
用NFS启动开发板,把arm版编译出来的应用程...