专题: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);

注意,创建分组框及其内部的子窗口部件时,以上次序不要改变。当分组框内部没有子窗口部件时,是无法为其应用布局的。再有就是,要牢固记得QGroupBoxQWidget的子类,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);
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值