Qt应用开发(基础篇)——工具箱 QToolBox

一、前言

QToolBox类继承于QFrame,QFrame继承于QWidget,是Qt常用的基础工具部件。

框架类QFrame介绍

QToolBox工具箱类提供了一列选项卡窗口,当前项显示在当前选项卡下面,适用于分类浏览内容展示操作指引这一类的使用场景。

二、QToolBox类

1、count

该属性表示当前工具箱选项卡的数量。

cpp 复制代码
int count() const    //获取选项卡数

2、currentIndex

该属性表示当前显示选项卡的下标,如果选项卡数量为0,则返回-1。

cpp 复制代码
int currentIndex() const            //获取当前选项卡下标
void setCurrentIndex(int index)     //设置当前选项卡下标

3、公共方法

1)增加选项卡

使用addItem在尾部插入选项卡。

cpp 复制代码
int addItem(QWidget *widget, const QIcon &iconSet, const QString &text)
int addItem(QWidget *w, const QString &text)

2)插入选项卡

使用InsertItem在任意位置插入选项卡,如果索引index超出范围,那么插入到尾部。

cpp 复制代码
int insertItem(int index, QWidget *widget, const QIcon &icon, const QString &text)
int insertItem(int index, QWidget *widget, const QString &text)

3)移除选项卡

使用removeItem移除目标下标的选项卡,这里是从工具箱中移除,而不是删除部件。

cpp 复制代码
void removeItem(int index)

4)设置/获取选项卡图标

cpp 复制代码
QIcon itemIcon(int index) const
void setItemIcon(int index, const QIcon &icon)

5)设置/读取选项卡文本

cpp 复制代码
QString itemText(int index) const
void setItemText(int index, const QString &text)

6)设置/读取选项卡提示文本

cpp 复制代码
QString itemToolTip(int index) const
void setItemToolTip(int index, const QString &toolTip)

7)设置/读取选项卡显示项

cpp 复制代码
QWidget *widget(int index) const
QWidget *currentWidget() const
void setCurrentWidget(QWidget *widget)

8)设置/读取选项卡使能

cpp 复制代码
bool isItemEnabled(int index) const
void setItemEnabled(int index, bool enabled)

9)查找选项卡

使用indexOf查找某选项卡的索引,如果不存在则返回-1。

cpp 复制代码
int indexOf(QWidget *widget) const

4、信号

当前选项卡改变的时候触发信号。

cpp 复制代码
void currentChanged(int index)

5、示例

cpp 复制代码
QLabel *lab1 = new QLabel("大话西游");
QLabel *lab2 = new QLabel("整蛊专家");
QLabel *lab3 = new QLabel("功夫");
QWidget *widget1 = new QWidget();
QVBoxLayout *lay1 = new QVBoxLayout();

lay1->addWidget(lab1);
lay1->addWidget(lab2);
lay1->addWidget(lab3);
widget1->setLayout(lay1);
tool->addItem(widget1,"周星驰");

QLabel *lab4 = new QLabel("寒战");
tool->addItem(lab4,"刘德华");

QLabel *lab5 = new QLabel("赌神");
tool->addItem(lab5,"周润发");

执行结果:

相关推荐
oem1105 小时前
C++中的享元模式实战
开发语言·c++·算法
casual~6 小时前
第?个质数(埃氏筛算法)
数据结构·c++·算法
Elnaij7 小时前
从C++开始的编程生活(20)——AVL树
开发语言·c++
hanbr7 小时前
【C++ STL核心】vector:最常用的动态数组容器(第九天核心)
开发语言·c++
仰泳的熊猫7 小时前
题目2308:蓝桥杯2019年第十届省赛真题-旋转
数据结构·c++·算法·蓝桥杯
lzksword8 小时前
C++ Builder XE OpenDialog1打开多文件并显示xls与xlsx二种格式文件
java·前端·c++
niceffking8 小时前
C++内部类的ISO约定和语法细节
开发语言·c++
艾莉丝努力练剑9 小时前
【脉脉】AI创作者崛起:掌握核心工具,在AMA互动中共同成长
运维·服务器·c++·人工智能·安全·企业·脉脉
码界奇点9 小时前
基于ASP.NET Core的内容管理系统设计与实现
c++·后端·车载系统·毕业设计·asp.net·源代码管理
2301_8035545210 小时前
qt信号槽机制以及底层实现原理
开发语言·qt