转摘Qt扫盲-QToolBox理论总结

杭季雅阅读量 17

QToolBox理论总结


  1. 简述

QToolBox 是一个类似前端的抽屉容器,它有一组选项卡,每个选项卡会在其下方自带有一个QWidget 来会显示一些内容。每个选项卡在选项卡列表中都有一个索引位置。这个选项卡的位置也是有顺序的,这样我们就可以定位到每一个选项卡的位置了,就像下面的这种。

Layouts Spacers Buttons ... 都是选项卡,就像下面的 Spacers 选项卡下面的 Horizontal Spacer、Vertical Spacer 都是 这个选项卡的内容。

![在这里插入图片描述](https://img-blog.csdnimg.cn/904513a8107240c19d248ff086b617b2.png)

我们放置内容控件的区域,以及布局的话都是在 内容区域里进行的哈。内容区域本身是一个 QWidget 类型。
![在这里插入图片描述](https://img-blog.csdnimg.cn/656a0b3feb914430a6e044b64bcd5b92.png)

注意

QToolBox 并不会给 给超过视图的控件添加滚动区域,所有如果我们想实现类似 微信聊天联系区的滚动功能

需要 在 QToolBox 的选项卡 内容 区域内 放置一个 QScrollArea 并布局一下就可以了
![](https://img-blog.csdnimg.cn/54c6da3a3e7e4901adc14260f5459b02.png)

  1. 常用功能

在 QToolBox 的 每个选项卡都有一个 itemText()、一个可选 itemIcon()、一个可选 itemToolTip() 和一个 widget() (就是内容区域嘛)。

  • 修改选项卡属性

    可以使用 setItemText() 设置选项卡文字、setItemIcon() 设置选项卡图标和 setItemToolTip() 设置选项卡提示更改选项卡的属性。每个选项卡都可以使用 setItemEnabled() 单独启用或禁用。

  • 修改选项卡

    使用 addItem() 给 QToolBox 添加选项卡,或使用 insertItem() 在特定位置插入选项卡。选项卡总数由 count() 给出。可以使用删除删除项,也可以使用 removeItem() 从QToolBox 中删除项。结合 removeItem() 和 insertItem() 可以将选项卡移动到不同的位置。

  • 索引选项卡

    当前选项卡的索引由 currentIndex() 返回,并使用 setCurrentIndex() 进行设置。可以使用 indexOf() 找到特定项的索引,并且给定索引处的项由 item() 返回。

简单的效果
![在这里插入图片描述](https://img-blog.csdnimg.cn/ecd47dbe14e649c69e20aeb1ec28650f.png)

  1. 信号&用途

当前选项卡更改时发出 currentChanged() 信号。

用途一般就就是用来分类提供一个基础的索引来索引控件。就像下面Qt Desigber 官方的这种,但这个一般就只用一级,很多层级的话,还是用 树型控件 方便操作些。也就是用QTreeWidget 或者 QTreeView。
![在这里插入图片描述](https://img-blog.csdnimg.cn/6439e912700c44cfafee6eb3e3646edb.png)

复制代码
    ```
    

    ===========================
    【来源: CSDN】
    【作者: 太阳风暴】
    【原文链接】 https://blog.csdn.net/qq_43680827/article/details/128344091
    声明:转载此文是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢。
    ```
0/300
全部评论0
0/300