【Qt】:常用控件(二:QWidget核心属性)

常用控件(二)

  • 一.cursor(光标形状)
  • 二.font(字体信息)
  • 三.toolTip(提示显示)
  • 四.focusPolicy(焦点)
  • 五.styleSheet(文本样式)

一.cursor(光标形状)

在这里插入图片描述

第一种方式:图形化界面

在这里插入图片描述

第二种方式:代码

在这里插入图片描述

在这里插入图片描述

自定义光标

Qt允许使用自己的图片作为光标,这里需要使用qrc机制,如果不了解的可以看看上一篇博客。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

二.font(字体信息)

在这里插入图片描述

关于QFont:

在这里插入图片描述

代码示例:Qt Designer中设置字体属性

在这里插入图片描述

第一种:在图形化界面操作

在这里插入图片描述

在这里插入图片描述

第二种:纯代码

在这里插入图片描述

在这里插入图片描述

三.toolTip(提示显示)

在这里插入图片描述

toolTip只是给⽤⼾看的.在代码中⼀般不需要获取到toolTip。

代码示例:设置按钮的toolTip

在这里插入图片描述
在这里插入图片描述

四.focusPolicy(焦点)

设置控件获取到焦点的策略.⽐如某个控件能否⽤⿏标选中或者能否通过tab键选中。界面上有一个输入框.此时必须要选中这个输入框,接下来键盘按键才会输入到输入框中.如果选中的是别的控件,或者别的窗口,此时键盘的输入就不会进入到这个输入框中.

在这里插入图片描述

Qt::FocusPolicy 是⼀个枚举类型.取值如下:

Qt::NoFocus :控件不会接收键盘焦点
Qt::TabFocus :控件可以通过Tab键接收焦点
Qt::ClickFocus :控件在⿏标点击时接收焦点
Qt::StrongFocus :控件可以通过Tab键和⿏标点击接收焦点(默认值)
Qt::WheelFocus :类似于 Qt::StrongFocus ,同时控件也通过⿏标滚轮获取到焦点(新增
的选项,⼀般很少使⽤).

代码演示:理解不同的focusPolicy

1.在界⾯上创建四个单⾏输⼊框(Line Edit)

在这里插入图片描述

2.修改四个输⼊框的 focusPolicy 属性为 Qt::StrongFocus (默认取值,⼀般不⽤额外修改)

在这里插入图片描述

此时运⾏程序,可以看到,使⽤⿏标单击/tab,就可以移动光标所在输⼊框.从⽽接下来的输⼊就是针对这个获取焦点的输⼊框展开的了.

3.修改第⼆个输⼊框的 focusPolicy 为 Qt::NoFocus ,则第⼆个输⼊框不会被tab/⿏标左键选中.

在这里插入图片描述

此时这个输⼊框也就⽆法输⼊内容了.

4.修改第⼆个输⼊框 focusPolicy 为 Qt::TabFocus ,则只能通过tab选中,⽆法通过⿏标选中.

在这里插入图片描述

5.修改第⼆个输⼊框 focusPolicy 为 Qt::ClickFocus ,则只能通过鼠标选中,⽆法通过Tab选中.

在这里插入图片描述

五.styleSheet(文本样式)

通过CSS设置widget样式.

CSS(Cascading Style Sheets 层叠样式表)本⾝属于⽹⻚前端技术.主要就是⽤来描述界⾯的样式.所谓"样式",包括不限于⼤⼩,位置,颜⾊,间距,字体,背景,边框等.我们平时看到的丰富多彩的⽹⻚,就都会⽤到⼤量的CSS.Qt虽然是做GUI开发,但实际上和⽹⻚前端有很多异曲同⼯之处.因此Qt也引⼊了对于CSS的⽀持.

CSS中可以设置的样式属性⾮常多.基于这些属性Qt只能⽀持其中⼀部分,称为QSS(Qt Style Sheet).具体的⽀持情况可以参考Qt⽂档中"Qt Style Sheets Reference"章节.

代码⽰例:设置⽂本样式

在这里插入图片描述

在这里插入图片描述

此处的语法格式同CSS,使⽤键值对的⽅式设置样式.其中键和值之间使⽤ : 分割.键值对之间使⽤; 分割.另外,Qt Designer只能对样式的基本格式进⾏校验,不能检测出哪些样式不被Qt⽀持.⽐如 textalign: center 这样的⽂本居中操作,就⽆法⽀持.

在这里插入图片描述

代码⽰例:实现切换夜间模式.

在界⾯上创建⼀个多⾏输⼊框(Text Edit)和两个按钮。objectName 分别为 pushButton_light 和pushButton_dark。

在这里插入图片描述

编写按钮的slot函数.

在这里插入图片描述

在这里插入图片描述

可以看到上面我们都是用white这样确切的表示,实际上它可以自己搭配颜色(通过三原色来搭配)。

关于计算机中的颜⾊表⽰

计算机中使⽤"像素"表⽰屏幕上的⼀个基本单位(也就是⼀个发亮的光点).
每个光点都使⽤三个字节表⽰颜⾊,分别是R(red),G(green),B(blue)⼀个字节表⽰(取值范围0-255,或者0x00-0xFF).
混合三种不同颜⾊的数值⽐例,就能搭配出千千万万的颜⾊出来.
• rgb(255, 0, 0) 或者 #FF0000 或者 #F00 表⽰纯红⾊.
• rgb(0, 255, 0) 或者 #00FF00 或者 #0F0 表⽰纯绿⾊.
• rgb(0, 0, 255) 或者 #0000FF 或者 #00F 表⽰纯蓝⾊.
• rgb(255, 255, 255) 或者 #FFFFFF 或者 #FFF 表⽰纯⽩⾊.
• rgb(0, 0, 0) 或者 #000000 或者 #000 表⽰纯⿊⾊.
当然,上述规则只是针对⼀般的程序⽽⾔是这么设定的.实际的显⽰器,可能有8bit⾊深或者10bit⾊深等,实际情况会更加复杂

在这里插入图片描述

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【注册中心】ZooKeeper

文章目录 概述Zookeeper的应用场景Zookeeper的角色Zookeeper 的数据模型zookeeper客户端常用命令Zookeeper的核心功能Zookeeper的架构与集群规则Zookeeper的工作模式Zookeeper如何实现分布式锁Zookeeper JavaAPI(Curator)来源 概述 Zookeeper 是一个开源…

Java笔试题总结

HashSet子类依靠()方法区分重复元素。 A toString(),equals() B clone(),equals() C hashCode(),equals() D getClass(),clone() 答案:C 解析: 先调用对象的hashcode方法将对象映射为数组下标,再通过equals来判断元素内容是否相同 以下程序执行的结果是: class X{…

十个排序算法

目录 冒泡排序(Bubble Sort) 选择排序(Select Sort) 插入排序(InsertSort) 希尔排序(ShellSort) 计数排序(CountSort) 快速排序(QuickSort) 归并排序(Merge Sort&a…

MCAL SPI配置

用的是Qspi0 SpiDriver 要配置 4个选项 Spichannel SpiExternalDevice SpiJob SpiSequence Mcu 模块配置 dma配置

理解Three.js的相机

大家都知道我们生活中的相机,可以留下美好瞬间。那Three.js的相机是什么呢?Three.js创建的场景是三维的,而我们使用的显示器显然是二维的,相机就是抽象的定义了三维空间到二维显示器的投影方式。Three.js常见的相机有两类&#xf…

jvm基础三——类加载器

类加载器的双亲委派机制 打破

python学习24:python中的列表(list)的遍历

python中的列表(list)的遍历 1.什么是遍历? 将容器内的元素一次取出,并处理,称之为遍历操作,或者还可以叫做迭代 2.如何遍历列表的元素呢? 我们可以使用前面学到的while或者for循环 接下来是代码演示: 使…

Docker基础系列之TLS和CA认证

Docker基础系列之TLS和CA认证 文章目录 Docker基础系列之TLS和CA认证1. 引言2. 初识TLS和CA3. 开启TLS和CA认证3.1 生成证书3.2 配置TLS 4. 参考和感谢 1. 引言 我们日常工作当中会遇到这些需求: 监控Docker容器在idea开发工具中连接Docker,直接发布至…

【RMSNorm】Root Mean Square Layer Normalization

【RMSNorm】Root Mean Square Layer Normalization 论文信息 阅读评价 Abstract Introduction Related Work Background RMSNorm Experiments 论文信息 名称内容论文标题Root Mean Square Layer Normalization论文地址https://arxiv.org/abs/1910.07467发表时间2019-…

随手集☞Spring知识盘点

概述 定义 Spring框架的提出者是程序员Rod Johnson,他在2002年最早提出了这个框架的概念,随后创建了这个框架。Spring框架的目标是简化企业级Java应用程序的开发,通过提供一套全面的工具和功能,使开发者能够更加高效地构建高质量…

JVM参数调优

JVM参数调优 文章目录 JVM参数调优前言JVM参数类型查看运行的Java程序,JVM参数是否开启,具体值为多少?题外话(坑题)查看JVM默认参数工作中常用的JVM基本配置参数查看堆内存打印JVM默认参数生活常用调优参数GC垃圾收集参…

【测开求职】校招生在面测开前需要了解的信息

博主在2021年拿到了字节测开实习的offer,实习时长4个月,并于2023年秋招拿到了字节测开的校招offer,仅以本专栏记录对该岗位的所思所想。 目录 1. 测试开发需要做什么工作2. 为什么选择测试开发3. 测试开发不如开发吗4. 如何准备测试开发 1. …