QT开发学习-第五章-QT容器组件

这章主要开始介绍QT中的容器组件。

今日分享:✨希望我们按计划做事,不拖延,任何时间段都有好一点的效率✨!

QT中有九种容器组件,分别是组合框QGroupBox、滚动区QScrollArea、工具箱QToolBox、选项卡QTabWidget、控件栈QWidgetStack、框架QFrame、组件QWidgetMDI窗口显示区QMdiArea、停靠窗口QDockWidget

在这里插入图片描述



一、QGroupBox分组框

1.1. QGroupBox组件简介

QGroupBox为构建分组框提供了支持。
分组框通常带有一个边框和一个标题栏,作为容器部件来使用,在其中可以布置各种窗口部件。
分组框的标题通常在上方显示,其位置可以设置为靠左、居中、靠右、自动调整这几种方式之一。
位于分组框之中的窗口部件可以获得应用程序的焦点,位于分组框之内的窗口部件是分组框的子窗口,通常使用addWidget()方法把子窗口部件加入到分组框之中。


1.2. QGroupBox组件属性

QGroupBox组件属性设置选项:

A、name:组件对应源代码中的名称
B、title:组件对应图形界面中所显示的名称
C、font:设置title的字体

1.3. QGroupBox分组框成员函数

void  setChecked (bool checked)   //设置QGroupBox使能
void  setTitle (const QString & title) //设置组合框的标题文本

1.4. QGroupBox实例

#include <QtGui/QApplication>
#include <QDialog>
#include <QVBoxLayout>
#include <QGroupBox>
#include <QRadioButton>
#include <QCheckBox>
int main(int argc, char *argv[])
{
   
    QApplication a(argc, argv);
    QDialog w;
    
    QGroupBox *group = new QGroupBox("option");
    group->setCheckable(true);
    group->setChecked(true);
    
    QRadioButton *radio1 = new QRadioButton("banana");
    QRadioButton *radio2 = new QRadioButton("pear");
    QRadioButton *radio3 = new QRadioButton("apple");
    radio1->setChecked(true);
    
    QCheckBox *check = new QCheckBox("rice");
    check->setChecked(true);
    
    QVBoxLayout *vbox = new QVBoxLayout;
    vbox->addWidget(radio1);
    vbox->addWidget(radio2);
    vbox->addWidget(radio3);
    vbox->addWidget(check);
    group->setLayout(vbox);
    w.setLayout(vbox);
    w.show();
    
    return a.exec();
}

二、QScrollArea滚动区

2.1. QScrollArea组件简介

QScrollArea滚动区组件用来显示子控件的内容的框架,
如果子控件的尺寸超过了框架的大小,可以使用滚动条,方便查看整个子控件。
QScrollArea 可以给任何QWidget添加滚动条,
但一般自定义窗体添加滚动条不显示。

2.2. QScrollArea组件属性

QScrollArea组件属性设置选项:

A、name:同上
B、font:设置文本框的字体

2.3. QScrollArea组件常用成员函数

QScrollArea::QScrollArea(QWidget *parent = 0)
//构造一个父对象为parent的ScrollArea

void QScrollArea::setWidget(QWidget *widget)
//设置控件widget为QScrollArea组件的子控件

QWidget *SCrollArea::takeWidget()
//删除QScrollArea的子控件

QWidget *QScrollArea::widget()const 
//返回QScrollArea的子控件

2.4. QScrollArea实例

#include <QtGui/QApplication>
#include <QLabel>
#include <QImage>
#include <QScrollArea>
#include <QHBoxLayout>

int main(int argc, char *argv[])
{
   
  QApplication a(argc, argv);
  QWidget w;
  
  QLabel *label = new QLabel(&w);
  QImage image("D:\\QT\\ScrollArea\\1.jpg");
  QHBoxLayout *lay=new QHBoxLayout(&w);
  label->setPixmap(QPixmap::fromImage(image));

  //创建滚动区,
  QScrollArea *scrollarea = new QScrollArea(&w);
  //将Widget组件加入滚动区
  scrollarea->setWidget(label);
  //自动改变滚动区大小
  scrollarea->setWidgetResizable(1);
  //设置滚动区背景颜色
  scrollarea->setBackgroundRole(QPalette::Dark);
  
  lay->addWidget(scrollarea);
  w.setLayout(lay);
  w.show();
  return a.exec();
}


三、QToolBox工具箱

3.1. QToolBox组件简介

QToolBox提供了一系列的页和隔间,就像Qt Creator中的工具箱一样。


3.2. QToolBox组件属性

QToolBox组件属性设置选项

A、name:同上
B、font:同上
C、currentIndex:当前活动页的索引
D、itemLabel:当前活动页的标签
E、itemName:当前活动页的名称
F、itemBackgroundModel:当前活动页的背景模式

3.3. QToolBox组件常用成员函数

QToolBox::QToolBox(QWidget *parent = 0const char *name = 0,QFlags f = 0)
// 构造一个名称为name,父对象为parent和标志位f的ToolBox

int addItem(QWidget *item,const QIconSet &iconSet,const QString &label)
// 增加一个item到ToolBox的底部,新增加的item的标签的文本是label,标签的图标是iconSet

int addItem(QWidget *item,const QString &label)
// 增加一个item到ToolBox底部,新增加的item的标签文本是label

int ToolBox::count()const
// 返回工具箱中item数目

int ToolBox::currentIndex()const
// 返回当前活动item的索引

QWidget *QToolBox::currentItem()const
// 返回当前活动item,如果该ToolBox为空,返回0

int ToolBox::indexof(QWidget *item)const
// 返回item的索引

int QToolBox::insertItem(int index,QWidget *item,const QIconSet &iconSet,const QString &label)
// 在索引index处插入一个新的项目,项目是item,标签图标是iconSet,标签文本时label,返回插入item的索引

int QToolBox::insertItem(int index,QWidget *item,const QString &label)
// 在索引index处插入一个新的项目,项目的名称是item,标签文本是label,返回插入item的索引。

QWidget *QToolBox::item(int index)const
// 返回索引为index位置的item

QString QToolBox::itemLabel(int index)const
// 返回索引为index位置的标签

int QToolBox::RemoveItem(QWidget *item)
// 删除ToolBox中的item的项目,删除成功后返回item的索引,否则返回-1

void QToolBox::setCurrentIndex(int index)
// 设置索引为index位置的项目为当前活动项目

void 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值