当前位置: 首页 > news >正文

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

一、前言

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

        框架类QFrame介绍

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

二、QToolBox类

1、count

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

int count() const    //获取选项卡数

2、currentIndex

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

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

3、公共方法

1)增加选项卡

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

int addItem(QWidget *widget, const QIcon &iconSet, const QString &text)
int addItem(QWidget *w, const QString &text)

2)插入选项卡

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

int insertItem(int index, QWidget *widget, const QIcon &icon, const QString &text)
int insertItem(int index, QWidget *widget, const QString &text)

3)移除选项卡

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

void removeItem(int index)

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

QIcon itemIcon(int index) const
void setItemIcon(int index, const QIcon &icon)

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

QString itemText(int index) const
void setItemText(int index, const QString &text)

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

QString itemToolTip(int index) const
void setItemToolTip(int index, const QString &toolTip)

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

QWidget *widget(int index) const
QWidget *currentWidget() const
void setCurrentWidget(QWidget *widget)

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

bool isItemEnabled(int index) const
void setItemEnabled(int index, bool enabled)

9)查找选项卡

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

int indexOf(QWidget *widget) const

4、信号

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

void currentChanged(int index)

5、示例

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

执行结果:

http://www.lryc.cn/news/119505.html

相关文章:

  • 地理测绘基础知识(1) 坐标系经纬度与ECEF直角坐标的基本换算
  • 【UE4 RTS】08-Setting up Game Clock
  • 百度chatgpt内测版
  • [GAN] 使用GAN网络进行图片生成的“调参人”入门指南——生成向日葵图片
  • (十)人工智能应用--深度学习原理与实战--模型的保存与加载使用
  • Java“牵手”1688商品详情页面数据获取方法,1688API实现批量商品数据抓取示例
  • Docker_docker runContainerd
  • python中常见的矩阵变换总结
  • LightningChart JS 2023Crack,CPU高效实时更新
  • hutool 导出复杂表头excel
  • git和github学习
  • 竞赛项目 车位识别车道线检测 - python opencv
  • 中文版开源Llama 2同时有了语言、多模态大模型,完全可商用
  • JavaScript、TypeScript、ES5、ES6之间的联系和区别
  • RCNA——单臂路由
  • leetcode做题笔记69
  • CentOS根分区扩容实战(非LVM)!
  • uniapp 微信小程序 分包
  • Redis_安装、启动以及基本命令
  • IPv4编址及子网划分
  • HashMap 二十一问
  • 什么是Selenium?使用Selenium进行自动化测试
  • 解决“先commit再pull”造成的git冲突
  • JAVA设计模式----原型设计模式
  • 树·c++
  • vuejs 设计与实现 - 双端diff算法
  • RISC-V在快速发展的处理器生态系统中找到立足点
  • 面试题02
  • 第六章 SpringBoot注解 @ConditionalOnBean
  • MySQL8的下载与安装-MySQL8知识详解