Qt应用开发(基础篇)——选项卡窗口 QTabWidget

  一、前言      

         QTabWidget类继承于QWidget,是一个拥有选项卡的窗口部件。

        QTabWidget类有一个选项卡栏QTabBar和一个页面区域,用来显示和选项卡相关联的界面。用户通过点击选项卡或者自定义快捷方式(ALT+Key)切换页面。

二、QTabWidget类

1、count

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

int count() const

2、currentIndex

        该属性表示当前选项卡的索引,下标从0开始,如果没有部件则返回-1。

int currentIndex() const
void setCurrentIndex(int index)

3、documentMode

        该属性表示选项卡栏是否设置为文档模式,默认禁用。这与macOS上的文档模式相同。启用时,不会呈现选项卡部件框架,即选项卡页面和其后的窗口等页面无框架区分看起来是一个整体。此模式对于页面需要显示文档类型的情况非常有用,因为节省了选项卡部件框架占用的部分空间。

bool documentMode() const
void setDocumentMode(bool set)
文档模式

 

默认模式

 4、elideMode

        该属性表示在没有足够的空间显示给定选项卡栏大小的时候如何省略内容的策略。

Qt::TextElideMode elideMode() const
void setElideMode(Qt::TextElideMode mode)
定义描述
Qt::ElideLeft省略号应该出现在文本的开头
Qt::ElideRight省略号应该出现在文本的末尾
Qt::ElideMiddle省略号应该出现在文本的中间
Qt::ElideNone省略号不应该出现在文本中。

Qt::ElideLeft

 6、iconSize

        该属性表示选项卡标签的图标最大尺寸,图标原尺寸太大会被压缩,太小不会被放大。

QSize iconSize() const
void setIconSize(const QSize &size)

7、movable

        该属性表示是否可以移动选项卡,默认选项卡是不可移动的。

bool isMovable() const
void setMovable(bool movable)

8、tabBarAutoHide

        该属性表示当选项卡栏包含少于2个选项卡时,选项卡栏是否自动隐藏,默认不隐藏。

bool tabBarAutoHide() const
void setTabBarAutoHide(bool enabled)

9、tabPosition

        该属性表示选项卡的位置,默认QTabWidget::North,在上方。

QTabWidget::TabPosition tabPosition() const
void setTabPosition(QTabWidget::TabPosition position)
定义描述
QTabWidget::North选项卡绘制在页面的上面
QTabWidget::South选项卡绘制在页面的下面
QTabWidget::West选项卡绘制在页面的左侧
QTabWidget::East选项卡绘制在页面的右侧
QTabWidget::South

 

10、tabShape

        该属性表示选项卡角的形状,默认QTabWidget::Rounded圆角。

QTabWidget::TabShape tabShape() const
void setTabShape(QTabWidget::TabShape s)
定义描述
QTabWidget::Rounded选项卡以圆形外观绘制
QTabWidget::Triangular选项卡以三角形外观绘制

QTabWidget::Triangular

 11、tabsClosable

        该属性表示选项卡栏是否应该在每个选项卡上放置关闭按钮。

bool tabsClosable() const
void setTabsClosable(bool closeable)

12、usesScrollButtons

        该属性表示,选项卡显示不下的时候是否使用按钮来滚动选项卡。

bool usesScrollButtons() const
void setUsesScrollButtons(bool useButtons)

13、公共函数

1)addTab

        新增选项卡、页面、标签和图标,返回选项卡的索引。

        如果标签包含“&”,那么将启用“ALT+Key”快捷方式,快速打开某选项卡。

        如果动态添加选项卡,需要先把setUpdatesEnabled设置为false,更新完成之后在设置为true,防止出现界面闪烁的情况。

int addTab(QWidget *page, const QString &label)
int addTab(QWidget *page, const QIcon &icon, const QString &label)

2)insertTab

        插入选项卡、页面、标签和图标,如果超出范围插入到尾部,返回选项卡的实际索引。其他注意事项参考addTab

 int insertTab(int index, QWidget *page, const QString &label)
 int insertTab(int index, QWidget *page, const QIcon &icon, const QString &label)

3)removeTab

        从选项卡中移除小部件,小部件本身不会被删除。

void removeTab(int index)

4)clear

        移除全部小部件。

void clear()

5)currentWidget

        返回当前页面显示的部件,如果选项卡为空,则返回nullptr。

QWidget *currentWidget() const

6)setCurrentWidget

        设置当前要显示的部件,传入的指针必须为有效值。

void setCurrentWidget(QWidget *widget)

7)setCornerWidget

        设置角部件,防止在选项卡旁边,基于选项卡的方向tabPosition赋值。

void setCornerWidget(QWidget *widget, Qt::Corner corner = Qt::TopRightCorner)
定义描述
Qt::TopLeftCorner矩形的左上角。
Qt::TopRightCorner矩形的右上角。
Qt::BottomLeftCorner矩形的左下角。
Qt::BottomRightCorner矩形的右下角。

Qt::TopLeftCorner

8)cornerWidget

        返回角部件方向。

QWidget *cornerWidget(Qt::Corner corner = Qt::TopRightCorner) const

9)indexOf

        查找某部件指针,返回选项卡索引,不存在则返回-1。

int indexOf(QWidget *w) const

10)widget

        查找某部件选项卡索引,返回小部件指针,不存在返回nullptr。

QWidget *widget(int index) const

11)setTabEnable

        设置某选项卡使能,设置为false将不可选中显示部件,如果全部选项都是false,那么将显示其中的一个。

void setTabEnabled(int index, bool enable)
setTabEnable(2,false)

12)isTabEnabled

        获取索引处index对应的选项使能。

bool isTabEnabled(int index) const

13)setTabIcon

        设置索引index对应的选项卡图标。

void setTabIcon(int index, const QIcon &icon)

14)tabIcon 

        获取索引index对应的图标。

QIcon tabIcon(int index) const

15)setTabText

        设置索引处index对应的选项卡文本。

void setTabText(int index, const QString &label)

16)tabText 

        获取索引处index对应的文本。

QString tabText(int index) const

 17)setTabToolTip

        设置索引处index对应的选项卡提示语。

void setTabToolTip(int index, const QString &label)

18)tabToolTip

        获取索引处index对应的提示语。

QString tabToolTip(int index) const

19)setTabVisible

        设置索引处index对应的选项卡是否隐藏。

void setTabVisible(int index, bool visible)

20)isTabVisible 

        获取索引处index对应的选项卡是否隐藏。

bool isTabVisible(int index) const

21)setTabWhatsThis 

        设置索引处index页面的“这是什么”帮助文本设置为文本。

void setTabWhatsThis(int index, const QString &text)

22)tabWhatsThis 

        获取索引index页面的帮助文本。

QString tabWhatsThis(int index) const

14、信号

1)currentChanged       

        页面切换触发。

void currentChanged(int index)

2)tabBarClicked

        点击选项栏触发。

void tabBarClicked(int index)

3)tabBarDoubleClicked

        双击选项栏触发。

void tabBarDoubleClicked(int index)

 4)tabCloseRequested

        选项栏关闭触发。

void tabCloseRequested(int index)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/83006.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Redis实战:Redis的安装及简单使用

本片将介绍 Redis 的安装及简单使用 文章目录 1、Redis安装1.1、Windows下Redis的安装1.2、Linux下Redis的安装1.3、Mac下Redis的安装(使用Homebrew) 2、Redis使用2.1、启动服务端客户端2.2、Redis简单命令 3、Redis命令大全 1、Redis安装 1.1、Windows…

Linux问题--docker启动mysql时提示3306端口被占用

问题描述: 解决方法: 1.如果需要kill掉mysqld服务可以先通过 lsof -i :3306 2. 查询到占用3306的PID,随后使用 kill -15 PID 来kill掉mysqld服务。 最后结果

软件工程模型-架构师之路(四)

软件工程模型 敏捷开发: 个体和交互 胜过 过程和工具、可以工作的软件 胜过 面面俱到的文件、客户合作胜过合同谈判、响应变化 胜过 循序计划。(适应需求变化,积极响应) 敏捷开发与其他结构化方法区别特点:面向人的…

网络面试题(172.22.141.231/26,该IP位于哪个网段? 该网段拥有多少可用IP地址?广播地址是多少?)

此题面试中常被问到,一定要会172.22.141.231/26,该IP位于哪个网段? 该网段拥有多少可用IP地址?广播地址是多少? 解题思路: 网络地址:172.22.141.192 10101100.00010110.10001101.11000000 广播…

Linux驱动开发(Day4)

思维导图: 字符设备驱动分步注册:

开学有哪些好用电容笔值得买?ipad触控笔推荐平价

因为有了Apple Pencil,使得iPad就成了一款便携的生产力配件,其优势在于,电容笔搭配上iPad可以让专业的绘画师在iPad上作画,而且还能画出各种粗细不一的线条,对于有书写需求的学生党来讲,还是很有帮助的。但本人不敢想像…

干货!一文告诉你SCRM和CRM有什么区别和联系?

在现代商业领域,我们经常听到两个缩写词,即"SCRM"和"CRM"。它们都与客户关系管理有关,但具体是什么意思?本文将用通俗易懂的方式解释这两个概念,以实例分析SCRM和CRM的功能并探讨它们之间的区别和…

验证评估守护关基安全 赛宁数字孪生靶场创新实践

​​近日,由赛宁网安主办,ISC互联网安全大会组委会协办的第十一届互联网安全大会(ISC 2023)安全运营实践论坛圆满结束。赛宁网安产品总监史崯出席并作出主题演讲:《基于数字孪生靶场如何开展验证评估》,同时…

linux 移动mv命令(实战案例)

linux 移动命令(你真的会用吗???) 第一种情况:移动文件 例如: 将/gdda_file 文件下的 zlib-devel-1.2.7-18el7.x86_64.rpm 移动到 /root/ces/tools文件下 解决方法: mv /gdda_fi…

微服务-GateWay(网关)

所谓网关是什么意思? 相当于就是你们小区家的保安,进出小区都得获得保安的同意,守护你们小区的生命财产健康,网关也是如此,对每个请求都严格把关,将合法的或者是获得权限的请求进入服务器 网关的功能&…

AIGC|万字长文!带你了解AI大模型技术演进

一、AI的起源 在下面这张图中,我们可以看到两个人物:图中左边的人物是一位演员,他出演了一部名为《模仿游戏》的电影。而这部电影实际上讲述的是图中右边的人物,他就是是人工智能之父图灵(Alan Turing)。 …

vue2.x项目从0到1(七)之用户权限

此章节偏理论知识 对于小一点的项目 比如说角色都是平级的 那我们直接像之前 vue2.x项目从0到1(二)之后台管理侧边栏(动态渲染路由以及高亮)_vue动态渲染侧边栏_关忆北_的博客-CSDN博客这样渲染就行了 但是一旦项目大了 …

# 快速评估立功科技基于S32K324的TMS方案

文章目录 1.前言2.立功科技的TMS方案介绍2.1 介绍资料2.2 简要介绍 3.S32K3_TriMotor评估板测试3.1 环境搭建S32 Design Studio for S32 Platform 3.4安装RTD 2.0.0安装Freemaster 3.2 3.2 例程测试3.3 例程适配3.4 双核烧录3.5 测试 1.前言 最近和一些做汽车水泵/风机的客户交…

【论文阅读】 Model Sparsity Can Simplify Machine Unlearning

Model Sparsity Can Simplify Machine Unlearning 背景主要内容Contribution Ⅰ:对Machine Unlearning的一个全面的理解Contribution Ⅱ:说明model sparsity对Machine Unlearning的好处Pruning方法的选择sparse-aware的unlearning framework Experiments…

stm32控制蜂鸣器源代码(附带proteus线路图)

说明: 1 PB0输出0时,蜂鸣器发生; 2 蜂鸣器电阻值如果太大会导致电流太小,发不出声音; 3蜂鸣器额定电压需要设置得低一点,可以是2V,但不能高于3V,这更右上角的电阻值有关系&#x…

每天一道leetcode:剑指 Offer 34. 二叉树中和为某一值的路径(中等图论深度优先遍历递归)

今日份题目: 给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶子节点 是指没有子节点的节点。 示例1 输入:root [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSu…

数据结构 - 基本概念和术语

基础概念之间的关系大致如下: 一、数据、数据元素、数据项和数据对象 数据 > 数据对象 > 数据元素 > 数据项 类比数据库,这四个概念代表的含义如下所示: 数据:整个数据库的所有数据数据对象:这个数据库的…

数据结构之并查集

并查集 1. 并查集原理2. 并查集实现3. 并查集应用3.1 省份数量3.2 等式方程的可满足性 4. 并查集的优缺点及时间复杂度 1. 并查集原理 并查表原理是一种树型的数据结构,用于处理一些不相交集合的合并及查询问题。并查集的思想是用一个数组表示了整片森林&#xff0…

opencv进阶08-K 均值聚类cv2.kmeans()介绍及示例

K均值聚类是一种常用的无监督学习算法,用于将一组数据点分成不同的簇(clusters),以便数据点在同一簇内更相似,而不同簇之间差异较大。K均值聚类的目标是通过最小化数据点与所属簇中心之间的距离来形成簇。 当我们要预测…

[国产MCU]-W801开发实例-GPIO输入与中断

GPIO输入与中断 文章目录 GPIO输入与中断1、硬件准备2、软件准备3、驱动实现4、驱动测试W801的GPIO支持软件配置中断,中断触发方式包含:上升沿触发、下降沿触发、高电平触发、低电平触发。本文在前面[ 国产MCU]-W801开发实例-按键与GPIO输入的基础上实现GPIO中断配置。 1、硬…