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

Qt常用控件之QWidget(三)

Qt常用控件之QWidget(三)

  • 1.windowOpacity
  • 2.cursor
    • 2.1.图形化界面设置cursor
    • 2.2.代码设置cursor
  • 3.font
    • 3.1.图形化界面设置font
    • 3.2.代码设置font
    • 3.3.在浏览器中查看字体的属性

🌟🌟hello,各位读者大大们你们好呀🌟🌟
🚀🚀系列专栏:【Qt的学习】
📝📝本篇内容:windowOpacity;cursor;图形化界面设置cursor;代码设置cursor;font;图形化界面设置font;代码设置font;在浏览器中查看字体的属性
⬆⬆⬆⬆上一篇:Qt练习小程序(无法拒绝的按钮)
💖💖作者简介:轩情吖,请多多指教(>> •̀֊•́ ) ̖́-

1.windowOpacity

接下来要讲的这个属性是用来调节透明度的,但还是要先知道一下它的发音
在这里插入图片描述
它也有两个API,分别是获取不透明值和设置不透明值

函数声明函数说明
qreal windowOpacity() const获取当前的不透明度,返回类型是qreal,其实就是浮点类型,取值的范围是0.0-1.0区间,其中0.0表示全透明,1.0表示完全不透明
void setWindowOpacity(qreal level)设置不透明度

来个简单的代码演示
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们可以仔细观察一下,它增加或减少不透明度时打印的数值并不是精确的,这主要是因为浮点数在底层存储的时候并不是以精确数值存储的,但是这种方法运算快,占用空间小。因此在我们有的时候需要进行浮点数相等判断时,不能直接使用“浮点数+浮点数==浮点数”来判断。
其实一旦超过我们的不透明范围值(0.0-1.0)后,继续增加或减少都不会有任何效果,但是我们的代码中还是非常有必要加上范围判断,这种被称之为是double check(双重检查)。这主要是为了保证它的安全性,因为作为使用者你不敢保证库中的代码有没有对此进行过超出范围的判断,而库的编写者也不敢保证使用者一定会写判断范围代码,因此双方都进行判断,即使一方出现问题,也不至于造成事故。

2.cursor

这个属性中文翻译是光标的意思,简单来说就是当鼠标在某个控件上停留时就会显示出的形状,就像我们现在在这里输入时,显示的光标是Ⅰ,而选择别的内容的时候又变成箭头,所以说同一个界面中,不同的控件可以设置不同的光标这个属性也需要看一下它的读音
在这里插入图片描述
接下来看一下它的API

函数声明函数说明
QCursor cursor() const获取当前控件设置的cursor属性,返回值是QCursor
void setCursor(const QCursor &)设置控件的光标,当鼠标停留在此控件上时,会显示出光标的形状
QGuiApplication::setOverrideCursor(const QCursor& cursor)设置全局光标的形状,对整个程序中的所有 widget 都会⽣效,覆盖上⾯的 setCursor 设置的内容

2.1.图形化界面设置cursor

在这里插入图片描述
不得不承认图形化非常方便,只需要将属性列表中的cursor的值进行选择即可
在这里插入图片描述

2.2.代码设置cursor

我们先用代码演示一下使用Qt内置的光标如何用代码实现
在这里插入图片描述
代码非常简单,就两句话,我们还可以通过WaitCursor按住ctrl进行跳转查看其他的内置光标
在这里插入图片描述
也可以看一下cursor的构造函数是怎么样的,就能理解它这里的参数传递情况
在这里插入图片描述
QCursor也支持我们使用自定义的图片来作为光标,它的用法其实和之前讲的窗口图标是类似的道理,将图片导入qrc进行管理,我们就可以使用代码基于图片构造出光标对象进行设置,接下来用代码来演示一下
创建新的qrc文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述最后是这个界面就说明设置成功了
接下来就是代码编写了
在这里插入图片描述
其中还牵扯到了另一个新的类QPixmap,它的作用还是很大的,用来修改编辑图片,其中还用到了调整图片大小的函数,函数说明见下图
在这里插入图片描述
由于光标无法进行截屏或者录屏,就没法展示最终效果了
这里还有一个点注意就是我们的鼠标点击时,默认是图片中间位置
在这里插入图片描述
在这里插入图片描述
我们可以进行通过参数进行修改
修改我们的代码
在这里插入图片描述

3.font

在这里插入图片描述
font是用来设置字体的属性的

函数声明函数说明
const QFont & font() const获取当前控件的字体属性,返回QFont类型,QFont类型是字体属性的集合
void setFont(const QFont &)设置当前控件字体属性
QFont的属性属性说明
family字体族,设置字体,比如“楷体”
pointSize字体大小
weight字体粗细.粗细程度用数值控制,范围[0,99],数值越大越粗
bold是否加粗. 设置为 true, 相当于 weight 为 75. 设置为 false 相当于weight 为 50
italic是否倾斜
underline是否带有下划线
strikeOut是否带有删除线

3.1.图形化界面设置font

在这里插入图片描述
其实图形化界面很方便,只需要在右侧的属性面板进行选择和勾选就可以设置字体的属性。
并且我们可以发现我们的Qt Designer能够对界面上属性设置支持“实时预览”,改了啥属性都能立马显示出来

3.2.代码设置font

在一般的简单的程序中可以直接使用图形化,但是假设如果我们的程序在运行过程中需要修改文字的相关属性就只能使用代码了
在这里插入图片描述其实我们讲了那么多的内容,也能发现规律,在前面我们谈到的QFont的一些属性,要进行设置的时候,只需要在前面加上“set”即可成为一个设置成员函数,并且Qt中大部分类和函数都是有规律可循的。并且不知道大家有没有注意到,最近写的控件属性类都没有进行设置进对象树,都是直接在栈上开辟,这主要是这些类都是设置进了控件内部,因此即使释放了内存也没关系。

3.3.在浏览器中查看字体的属性

假设你在一些网页上看到某些文字的颜色或者属性很好看,那此时我们也可以通过在网页页面进行鼠标右键点击检查进入开发者模式,并点击左上角的按钮,此时就可以将鼠标放到某些文字上观察属性
在这里插入图片描述

🌸🌸Qt常用控件之QWidget(三)大概就讲到这里啦,博主后续会继续更新更多Qt的相关知识,干货满满,如果觉得博主写的还不错的话,希望各位小伙伴不要吝啬手中的三连哦!如有小伙伴需要Qt的安装包可以私信我,你们的支持是博主坚持创作的动力!💪💪

http://www.dtcms.com/a/394959.html

相关文章:

  • apache poi excel 单元格换行
  • 全能视频下载器-下载自媒体平台视频 v1.5.5 专业版
  • 状态模式指南:对象状态变化的优雅管理
  • 自动化多段视频删除:FFmpeg.AutoGen 与 C# 的完整实现​
  • C、C++、Java 和 Python:四大编程语言的对比分析
  • ESP iic驱动
  • Ai-Agent学习历程——大模型的概念
  • 5G NR-NTN协议学习系列:NR-NTN介绍(3)
  • 一场 MCP 生态的变革——详解 OpenTiny NEXT 逆向思维的技术创新
  • 【案例教程】从CNN到 Transformer:基于PyTorch的遥感影像、无人机影像的地物分类、目标检测、语义分割和点云分类
  • 私有证书不被edge浏览器认可的问题的解决-Debian13环境下
  • 团体程序设计天梯赛 L2-052 吉利矩阵 (DFS+剪枝)(Java实现)
  • 【LeetCode 每日一题】966. 元音拼写检查器
  • windows 服务器如何开启系统自带的ftp服务
  • 2025年面试经历
  • Linux 基础:目录结构
  • OpenLayers地图交互 -- 章节七:指针交互详解
  • Kafka实战案例一:阿里云Kafka智能设备数据实时处理系统
  • 回调函数与错误处理
  • 深入大模型-2-大模型微调之Windows10安装大语言模型Unsloth微调环境
  • openssl x509 -noout -text -in server.cert.pem输出字段详解
  • Linux 基础:Vi/Vim 编辑器
  • K8s和Service Mesh如何强化微服务治理能力
  • 知识图谱赋能自然语言处理的深层语义分析:技术、影响与前沿趋势
  • 论文笔记:How Can Recommender Systems Benefit from Large Language Models: A Survey
  • idea终端添加git-bash,支持linux的shell语法
  • MITRE ATLAS对抗威胁矩阵:守护LLM安全的中国实践指南
  • 常见的 Web 项目性能优化方法有哪些?​​也适用于首页
  • Qt QMainWindow类深度解析:主窗口框架的核心实现
  • 知识图谱对自然语言处理深层语义分析的革命性影响与启示