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

qt常用控件--02

文章目录

  • qt常用控件--02
    • toolTip属性
    • focusPolicy属性
    • styleSheet属性
    • 补充知识点
    • 按钮类控件
      • QPushButton
    • 结语

很高兴和大家见面,给生活加点impetus!!开启今天的编程之路!!
在这里插入图片描述
今天我们进一步c++11中常见的新增表达
作者:٩( ‘ω’ )و260
我的专栏:qt,Linux,C++进阶,C++初阶,数据结构初阶,题海探骊,c语言
欢迎点赞,关注!!

qt常用控件–02

toolTip属性

api接口:
在这里插入图片描述
toolTip一般是给用户看的,所以一般不会使用到获取这个toolTip,如果非要获取的话,删掉set即可

我们直接来来看代码:
在这里插入图片描述
再来看效果:
在这里插入图片描述

focusPolicy属性

在讲解这个游戏之前,请问有多少同学是玩过部落冲突这个游戏的,当我们需要去攻打敌方部落的某个建筑的时候,此时我们需要点击这个建筑,我们的小兵就会去攻打这个建筑,这里过程可以理解为获取控件的焦点

api接口:
在这里插入图片描述
这个属性是来设置控件获取焦点的方式~~

至于为什么需要获取到焦点呢?
因为控件必须先要获取到焦点,用户才能够对控件进行操作

这里我们就需要来谈一下focusPolicy这个类了,focusPolicy仍然是qt中内置的类,其中包含:
在这里插入图片描述
我们直接来写一个代码来演示:
我们这里来创建一个用户可以进行输入的对话框:
在这里插入图片描述
因为默认的枚举类型就是strongFocus,默认鼠标和制表符都可以来修改焦点。这点,我们可以在qt designer中的控件属性中能够看到~~
在这里插入图片描述

如果此时我们对代码稍加修改,就可以对控件获取焦点的策略做出一定改变
在这里插入图片描述
在这里插入图片描述

styleSheet属性

通过ccs来控制控件样式,这里的样式包括颜色,字体,大小等等,ccs是属于前端技术的一种,主要是用来描述控件的样式
主要接口即:setsStyleSheet()

设置控件的样式其实还有一种图形化界面的方式,主要是使用控件的编辑样式表
步骤:qt designer右击控件 ->找到改变样式表->使用键值对的方式修改控件样式
在这里插入图片描述

描述控件的方式:键与值之间使用 :(英文下的冒号)链接,键值对之间使用 ;(英文状态下的分号链接)

关于如何形容字体(因为这里是Label),在前面已经有讲解了,忘记了记得复习~~

接下俩我们使用代码的方式来描写这个,我们现将这个编辑样式表复原。
来看代码:
在这里插入图片描述
结果仍然适合上面的结果一样的:
在这里插入图片描述

补充知识点

我们来使用一个示例来讲解,我们来实现一个夜间模式的切换,来看代码:
在这里插入图片描述
来看实现的结果:
在这里插入图片描述我们发现:日间模式跟我们初始的颜色不一样,我们日间模式是纯白色,但是最初颜色是白里透灰,这个涉及计算机中的颜色表示~~

首先,计算机中的颜色有多少种?答案是无数种

计算机中的三原色:红,绿,蓝,所以计算机中使用RGB来表示颜色(光的三原色)

我们可以使用这种表示方式来表示任何颜色,按照不同的比例,可以制造不同的颜色,所以计算机中的颜色有无数种。

首先,计算机中我们使用一个字节来表示光的三原色中的一种,范围是0~255,所以就有两种方式来表示一种颜色:

第一种:rgb(a,b,c)(a,b,c均是范围内的数字),来表示三种颜色的不同比例,如rgb(0,0,0)(黑色)
第二种:十六进制表示(大于0,小于FF),4个比特位表示一个16进制位,如:000000(黑色,也可以写为000),FF00FF

那么最后一个问题来了,怎么去获取这个颜色的比例呢?
使用取色器,在qq截图中内置了取色器,快捷键是ctrl+alt+a,随后鼠标对准想要的颜色,这样可以看到对应的rgb比例:

当我们清楚知道了初始界面的比例之后,就能够修改夜间模式的白色了:
在这里插入图片描述

按钮类控件

QPushButton

继承关系如下:
在这里插入图片描述
我们在控件的属性中也能够看到这一个继承关系:
在这里插入图片描述
因为继承关系,前面我们所提到的QWidget的属性QPushButton也能够使用~~
接下来我们其实介绍的是QAbstractButton的属性:
在这里插入图片描述
接下来我们可以使用一个实例来练习上面的接口~~
我们实现上下左右的移动(这次我们加上图片和快捷键的方式)

1:给按钮添加图片
我们仍然是在阿里巴巴矢量图标库中寻找图片

这里我们使用的还是qrc机制:先添加一个前缀,随后添加图片文件,路径不要有中文,注意图片在同级路径或者下一次路径中

随后我们设置Icon设置图片:
在这里插入图片描述

2:给按钮添加快捷键
我们先给按钮设置对应的槽函数,这个也十分简单:
在这里插入图片描述
随后我们可以测试一下,我们发现此时使用鼠标点击可以上下移动,但是只能够点一次,移动一次,所以我们需要用到上面的接口:
我们在Widget构造函数添加上这个并设置为true:
在这里插入图片描述
此时我们如果使用鼠标一直点击,即一直压下,target会一直移动。即连发属性。

接下来我们设置快捷键的方式,我们使用setShortCut接口:
这里我们也有两种方式来确定快捷键:
1:直接拼写英文:
在这里插入图片描述
如果我们想使用多个快捷键来处理一个操作呢?我们在其中加上一个+号即可:
在这里插入图片描述
但是这种其实有种问题,如果我们拼错了呢?而且还没有任何的报错

所以我们就要用到第二种方式,我们来使用qt库中定义的宏来实现。

2:使用qt内置宏:
在这里插入图片描述
如果想要使用多个按键处理同一个操作,同理,还是要使用+号,
形如:
在这里插入图片描述
随后我们发现里面使用快捷键是默认就是连发的,即setAutoRepeate默认就是true的~~

结语

今天的内容就分享完了,不足之处欢迎大家留言指出,感谢大家支持
锲而不舍,金石可镂!!加油!!
在这里插入图片描述

http://www.lryc.cn/news/574406.html

相关文章:

  • AI-Sphere-Butler之如何将豆包桌面版对接到AI全能管家~新玩法(一)
  • 功率器件的基本公式概念
  • React Native【实用教程】(含图标方案,常用第三库,动画,内置组件,内置Hooks,内置API,自定义组件,创建项目等)
  • 【机器学习1】线性回归与逻辑回归
  • iperf3使用方法
  • 实验九:RIPv2协议配置与分析
  • 【C语言】解决VScode中文乱码问题
  • 目标检测之YOLOv5到YOLOv11——从架构设计和损失函数的变化分析
  • Windows电脑数据恢复终极指南:从原理到实战
  • 【AI论文】扩展大型语言模型(LLM)智能体在测试时的计算量
  • K8S下http请求在ingress和nginx间无限循环的问题
  • 【第二章:机器学习与神经网络概述】03.类算法理论与实践-(1)逻辑回归(Logistic Regression)
  • Threejs实现 3D 看房效果
  • 基于java SSM的房屋租赁系统设计和实现
  • 操作系统 第九章 部分
  • 线程池 JMM 内存模型
  • MySQL 8.x配置MGR高可用+ProxySQL读写分离(二):ProxySQL配置MySQL代理及读写分离
  • Web中的会话控制
  • 【25】木材表面缺陷数据集(有v5/v8模型)/YOLO木材表面缺陷检测
  • python3字典
  • Docker 永久换源步骤
  • leetcode:98. 验证二叉搜索树
  • 大厂Java面试喜剧:谢飞机的奇幻之旅
  • 工业级无人机电调设计典范:南昌长空 ROCK 320A-H 技术参数详解
  • 使用Windows自带的WSL安装Ubuntu Linux系统
  • 60天python训练计划----day56
  • Java SE - 图书管理系统模拟实现
  • 【计算复杂度】普通卷积 VS 深度可分离卷积
  • react 的过渡动画
  • Redis基本介绍