当前位置: 首页 > 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.lqws.cn/news/489439.html

相关文章:

  • uniapp+vue3做小程序,获取容器高度
  • 相机标定与3D重建技术通俗讲解
  • <tauri><threejs><rust><GUI>基于tauri和threejs,实现一个3D图形浏览程序
  • UE5 AnimMontage 的混合(Blend)模式
  • npm install时,遇到digital envelope routines::unsupported
  • BlazorWebView微软跨平台浏览器控件,UI组件
  • .NET多线程任务实现的几种方法及线程等待全面分析
  • Redis Stream 消息队列详解及 PHP 实现
  • 认识鸿蒙之了解应用结构
  • 关于华为Pura70Pro+升级鸿蒙NEXT和回退
  • 【Oracle篇】Windows平台单进程多线程架构设计与实现(比对Linux多进程架构)
  • 【Linux篇章】线程同步与互斥2:打破多线程并发困境,开启高效程序运行新境界
  • Gartner《Generative AI Use - Case Comparison for Legal Departments》
  • 【机器学习1】线性回归与逻辑回归
  • AI大模型之机器学习理论及实践:监督学习-机器学习的核心基石
  • 跟着AI学习C#之项目实践Day3
  • 【Linux网络编程】序列化与反序列化
  • 1个翠绿联网状态指示灯,闪烁未连接,常亮连接正常;软件如何实现
  • 浅析std::atomic<T>::compare_exchange_weak和std::atomic<T>::compare_exchange_strong
  • 【C++】C++中的虚函数和多态的定义与使用
  • AI 领航设计模式学习:飞算 JavaAI 解锁单例模式实践新路径
  • PROFIBUS DP转ETHERNET/IP在热电项目中的创新应用
  • WinUI3入门9:自制SplitPanel
  • Java基础(三):逻辑运算符详解
  • 提高WordPress网站加载速度和用户体验
  • C# SolidWorks二次开发-实战2,解决SolidWorks2024转step文件名乱码问题
  • 【25】木材表面缺陷数据集(有v5/v8模型)/YOLO木材表面缺陷检测
  • 【开源工具】一键解决使用代理后无法访问浏览器网页问题 - 基于PyQt5的智能代理开关工具开发全攻略
  • 干货分享 如何做好数据可视化?
  • Qt联合Halcon开发四:【详细图解】海康相机配置并链接测试