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,"周润发");

执行结果:

相关推荐
✿ ༺ ོIT技术༻16 分钟前
笔试强训:Day2
开发语言·c++·笔记·算法
小刘同学++3 小时前
Qt使用 SQLite 数据库的基本方法
数据库·qt·sqlite
Starry_hello world3 小时前
C++ 快速幂算法
c++·算法·有问必答
2301_807611496 小时前
77. 组合
c++·算法·leetcode·深度优先·回溯
小刘同学++6 小时前
Qt 处理 XML 数据
xml·qt
Quz6 小时前
使用Qt Quick Controls创建自定义日历组件
qt·ui·交互
微网兔子7 小时前
伺服器用什么语言开发呢?做什么用什么?
服务器·c++·后端·游戏
YuforiaCode7 小时前
第十三届蓝桥杯 2022 C/C++组 修剪灌木
c语言·c++·蓝桥杯
YOULANSHENGMENG7 小时前
linux 下python 调用c++的动态库的方法
c++·python
CodeWithMe7 小时前
【C++】STL之deque
开发语言·c++