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

news2024/9/27 21:26:36

  一、前言      

         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)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DockerFile的入门与使用

什么是 DockerFile? Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。 参考Tomcat的dockerFile文件 DockerFile指令 FROM 指定父镜像: 基于哪个镜像image构建 指定基础镜像,必须为第一个命令MAIN…

【深入理解C语言】-- 关键字2

🐇 🔥博客主页: 云曦 📋系列专栏:深入理解C语言 💨吾生也有涯,而知也无涯 💛 感谢大家👍点赞 😋关注📝评论 文章目录 前言一、关键字 - static&…

规则的加载与管理者——KieContainer的获取与其类型的区别(虽然标题是KieContainer,其实说的还是KieServices)

之前梳理了一下有关KieServices的获取,与获取中的代码走向,详情请见: “万恶”之源的KieServices,获取代码就一行,表面代码越少里面东西就越多,本以为就是个简单的工厂方法,没想到里面弯弯绕绕…

vue3跳转页面后 海康监控实例不销毁

第一个页面是这样的 跳转到新的页面 只有海康的监控没有消失 使用控制台审查元素也审查不到 解决方法:在vue3的销毁周期把海康的监控销毁掉 import { reactive, onDeactivated} from "vue"; const state reactive({oWebControl: null as any, //监控绑…

数字乡村三维可视化监控管理平台

数字乡村是伴随网络化、信息化和数字化在农业农村经济社会发展中的应用,既是乡村振兴的战略方向,也是建设数字中国的重要内容。为了进一步提升乡村治理智能化、专业化水平,解决建设顶层缺失、数据孤岛等问题,数字孪生技术被广泛应…

16.4 【Linux】特殊文件与程序

16.4.1 具有 SUID/SGID 权限的指令执行状态 SUID 的权限其实与程序的相关性非常的大!为什么呢?先来看看 SUID 的程序是如何被一般使用者执行,且具有什么特色呢? SUID 权限仅对二进制程序(binary program)…

LL库实现SPI MDA发送方式驱动WS2812

1,首先打卡STM32CubeMX,配置一下工程,这里使用的芯片是STM32F030F4P6。 时钟 SPI外设 SPI DMA 下载接口,这个不配置待会下程序后第二次就不好下载调试了。 工程配置,没啥说的 选择生成所有文件 将驱动都改为LL库 然后直…

python知识:什么是字符编码?

前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 我们的MySQL使用latin1的默认字符集, 也就是说,对汉字字段直接使用GBK内码的编码进行存储, 当需要对一些有汉字的字段进行拼音排序时(特别涉及到类似于名字这样的字段时…

【Mysql 连接报错】

文章目录 遇到问题查看用户信息修改加密规则成功连入mysql 遇到问题 socket: auth failed …/…/lualib/skynet/socketchannel.lua:482: errno:1251, msg:Client does not support authentication protocol requested by server; consider upgrading MySQL client,sqlstate:080…

高效解决Anaconda Prompt报错Did not find VSINSTALLDIR这类问题

文章目录 回忆问题解决问题step1step2 回忆问题 类似于划红线部分然后还有很多行的报错信息,最后一行肯定是红色划线部分 解决问题 step1 找到 D:\Anaconda\envs\pytorch\etc\conda\activate.d在这个文件夹内会有两个文件,删除 vs2017_compiler_v…

Java版本+企业电子招投标系统源代码+支持二开+Spring cloud tbms

​ 项目说明 随着公司的快速发展,企业人员和经营规模不断壮大,公司对内部招采管理的提升提出了更高的要求。在企业里建立一个公平、公开、公正的采购环境,最大限度控制采购成本至关重要。符合国家电子招投标法律法规及相关规范,以…

考研算法第46天: 字符串转换整数 【字符串,模拟】

题目前置知识 c中的string判空 string Count; Count.empty(); //正确 Count ! null; //错误c中最大最小宏 #include <limits.h>INT_MAX INT_MIN 字符串使用发运算将字符加到字符串末尾 string Count; string str "liuda"; Count str[i]; 题目概况 AC代码…

桃红葡萄酒的品尝笔记记录

桃红葡萄酒通常都是用红葡萄品种来制作的&#xff0c;葡萄皮接触和saign方法会降低葡萄酒中的红色。因此&#xff0c;歌海娜、西拉、赤霞珠、坦普拉尼洛、桑娇维塞、马尔贝克、穆韦德、佳丽酿、仙粉黛、辛索和黑皮诺都是用于桃红葡萄酒甚至混合葡萄酒的常见品种。味道偏向水果味…

常见的逻辑运算符

计算机组成原理常见的逻辑运算符及其真值规则 逻辑运算名称 符号 规则 与运算 同真则真&#xff0c;有假则假 或运算 有真则真&#xff0c;同假则假 非运算 非真为假&#xff0c;非假为真 异或逻辑 相同为假&#xff0c;不同为真 与非逻辑 将与运算…

【数据分析入门】Numpy进阶

目录 一、数据重塑1.1 透视1.2 透视表1.3 堆栈/反堆栈1.3 融合 二、迭代三、高级索引3.1 基础选择3.2 通过isin选择3.3 通过Where选择3.4 通过Query选择3.5 设置/取消索引3.6 重置索引3.6.1 前向填充3.6.2 后向填充 3.7 多重索引 四、重复数据五、数据分组5.1 聚合5.2 转换 六、…

depcheck 检查依赖插件使用及报错

1.全局安装 npm i depcheck -g 2.使用depcheck 指令进行依赖检查 报错 &#xff1a; 无法加载 xxx\npm\depcheck.ps1&#xff0c;因为在此系统上禁止运行脚本。有关详细信息&#xff0c;请参阅 https:/go.microsoft.com/fwlink/?LinkID135170 中的 about_Execution_Policies。…

AI绘图(9)stable diffusion Lora 用法

Lora模型是配合Stable Diffusion使用的。可以简单的把Lora当成化妆师&#xff0c;当Stable Difusion生成的人不好看时&#xff0c;使用Lora可以帮它化妆&#xff0c;让它从丑小鸭变成白天鹅。 简单来说&#xff1a;就是一个修饰作用。 使用文生图功能 1、不使用Lora模型 Pr…

10、Redis单线程 VS 多线程

Redis单线程 VS 多线程 redis到底是单线程还是多线程&#xff1f; IO多路复用听说过吗&#xff1f; redis为什么快&#xff1f; 2、Redis为什么选择单线程&#xff1f; 这种问法其实并不严谨&#xff0c;为啥这么说呢? Redis的版本很多3.x、4.x、6.x&#xff0c;版本不同架构…

【2024】MySQL中常用函数和窗口函数的基本使用方式

MySQL中常用函数和窗口函数的基本使用方式 一、基础函数1、聚合函数&#xff1a;2、字符串函数&#xff1a;3、日期和时间函数4、数值函数5、条件函数 二、窗口函数(*OVER*) 一、基础函数 1、聚合函数&#xff1a; SELECT COUNT(*) FROM table_name;&#xff1a;计算表中的行…

在不破坏原有隔离状态的情况下,怎么实现网间数据安全摆渡?

随着网络技术的演进&#xff0c;网络攻击、数据窃取、数据泄露事件也愈发频繁&#xff0c;给企业造成损失和负面影响&#xff0c;企业数据防泄漏治理是大趋势&#xff0c;也是自身迫切需求。 2021年1月&#xff0c;中国农业银行因存在数据泄露风险、互联网门户网站泄露敏感信息…