【Qt】控件——Qt控件的介绍、QWidget的介绍、QWidget的属性、QWidget的函数

ops/2024/10/25 5:30:53/

文章目录

  • Qt
  • 1. 控件的概念
  • 2. QWidget
      • enabled
      • geometry
      • windowTitle
      • windowIcon
      • windowOpacity
      • cursor
      • font
      • toolTip
      • toolTipDuring
      • styleSheet

Qt

在这里插入图片描述
  

1. 控件的概念

  Widget 是 Qt 中的核心概念。英文原义是 “小部件”,我们此处也把它翻译为 “控件”。控件是构成一个图形化界面的基本要素。按钮、列表视图、输入框,、滚动条、下拉框等。都可以称为 “控件”。Qt内置了大量的常用控件。

  

2. QWidget

enabled

  设置控件是否可使用。true 表示可用,false 表示禁用。

  isEnabled () 获取到控件的可用状态。

  setEnabled 设置控件是否可使用。true 表示可用,false 表示禁用。

  

  示例:创建一个按钮并且设置为禁用状态。

  1. 创建一个按钮并且设置setEnabled是否可以,true为可用,false为不可用。

在这里插入图片描述

  

  示例:创建两个按钮,其中一个按钮可以控制另一个按钮的禁用状态。

  1. 我们在父类Widget中创建两个按钮类QPushButton。

在这里插入图片描述
  

  1. 调整按钮的位置和大小,并且连接信号槽,btn1是被控制的按钮,当btn1未被禁用时,点击btn1会触发信号槽输出 " 按下按钮btn1 "。btn2是控制按钮,点击可以切换btn1的禁用状态。

在这里插入图片描述

  

  1. 运行程序,实现了示例的要求。
    在这里插入图片描述

  

geometry

  位置和尺寸,包含 x、y、width、height 四个部分。其中坐标是以父元素为参考进行设置的。

  位置和尺寸,是四个属性的统称:

  • x 横坐标
  • y 纵坐标
  • width 宽度
  • height 高度

  

在这里插入图片描述
  

  示例:创建上下左右四个按键,点击按钮可以控制Target向对应的方向移动。

  1. Qt可以通过代码或可视化界面创建控件,这里使用可视化界面创建所需要的控件。

在这里插入图片描述

  

  1. 对上下左右四个方向的按钮关联信号槽,控制上下左右位置的变化,要注意这里是先获取Target的原始位置进行调整,如果不想让Target发生形变,必须保持rect.width()和rect.height()不变,只改变Target的位置。

在这里插入图片描述
  

  1. 可以看到我们可以控制Target的位置移动了。

在这里插入图片描述

  

windowTitle

  设置 widget 标题。
  

  1. 直接使用setWindowTitle设置标题名即可。

在这里插入图片描述
  

windowIcon

  设置 widget 图标。

  设置图标时,我们必须导入图片到我们的项目中,当然可以直接使用决定路径,但是Qt提供qrc机制管理静态资源。

  
  qrc是qt的资源管理方案:

  qrc 文件是一种 XML 格式的资源配置文件,用 XML 记录硬盘文件及对应资源名称,应用程序通过资源名称访问资源。在 Qt 开发中可将资源文件添加到项目以便访问和管理,资源文件可在 qrc 文件所在目录同级或子目录下。构建程序时,Qt 把资源文件二进制数据转成 cpp 代码编译到 exe 中,使依赖资源 “路径无关”。
  
  优点:确保了图片、字体、声音等资源能够真正做到 “目录无关”,无论如何都不会出现资源丢失的情况。

  缺点:不适合管理体积大的资源。如果资源比较大(比如是几个 MB 的文件),或者资源特别多,生成的最终的 exe 体积就会比较大,程序运行消耗的内存也会增大,程序编译的时间也会显著增加。
  

  1. 创建一个新文件,要创建Qt Resource File。

在这里插入图片描述

  

  1. 设置文件名。

在这里插入图片描述
  

  1. 打开该文件,并且设置保存图片的路径,简单一点即可。

在这里插入图片描述
  

  1. 添加我们需要的文件即可。

在这里插入图片描述

  

  1. 添加成功了,有了资源的路径就可以在我们的项目中使用了。

在这里插入图片描述

  

  1. QIcon是图像对象,用我们复制的路径创建一个新的QIcon并且设置到Widget,可以看到窗口的图标就改变了。
    在这里插入图片描述

  

windowOpacity

  设置 widget 透明度。
  

  1. 使用setWindowOpacity调整窗口的透明度。

在这里插入图片描述

  

cursor

  鼠标悬停时显示的图标形状,可以是普通箭头、沙漏、十字等形状,在 Qt Designer 界面中可清楚看到可选项。
  

  1. setCursor用来设置鼠标悬停图标,这里截图没有显示。

在这里插入图片描述

  

font

  字体相关属性,涉及字体家族、字体大小、粗体、斜体、下划线等样式。
  

  1. 设置字体

在这里插入图片描述
  

toolTip

  鼠标悬停在 widget 上会在状态栏中显示的提示信息。

ui->label1->setToolTip("这是文字");

  

toolTipDuring

  toolTip 显示的持续时间。

ui->label1->setToolTipDuration(3000);

  

styleSheet

  允许使用 CSS 来设置 widget 中的样式,Qt 中支持的样式非常丰富,对于前端开发人员上手非常友好。
  

  编辑右侧的 styleSheet 属性, 设置样式:

在这里插入图片描述

  

在这里插入图片描述

            


http://www.ppmy.cn/ops/128251.html

相关文章

长城坦克正式公布全新越野架构Hi4-Z,开启越野新时代

10月22日,“何为越野”长城坦克秋季技术发布会在中国虎克之路落下帷幕。本次发布会坦克品牌再添全新越野新能源架构,正式发布纵置双电机混联架构——Hi4-Z。 发布会上,长城汽车还首次公开了越野分级企业标准,为用户提供选车参考&…

演示:基于WPF的DrawingVisual开发的高刷新率示波器

一、目的:分享一个基于WPF的DrawingVisual开发的高刷新率示波器 二、效果演示 特此说明:由于Gif录制工具帧率不够,渲染60帧用了4.6秒,平均帧率在12Hz左右,所以展示效果不好,想要看好些的效果可以看文章下面…

C++(标准输入输出流、命名空间、string字符串、引用)

C特点及优势 (1)实现了面向对象,在高级语言中,处理运行速度是最快; (2)非常灵活,功能非常强大,相对于C的指针优势,C的优势为性能和类层次结构&#x…

java集合进阶篇-《HashSet和LinkedHashSet详解》

个人主页→VON 收录专栏→java从入门到起飞 目录 ​编辑 一、前言 二、简要概述 三、Set集合 四、HashSet集合 五、LinkedHashSet集合 一、前言 HashSet集合和LinkHashSet集合都是Set集合的分支集合,语法大致相同。这些众多的集合虽然许多地方都十分相近&…

Unity3D 自动化资源打AB包详解

在Unity3D开发中,AssetBundles(简称AB包)是一种将资源(如模型、纹理、音频等)打包成单独文件的方法,这些文件可以在运行时从服务器下载并加载到游戏中。自动化资源打包成AB包可以显著提高开发效率&#xff…

【计网】从零开始认识IP协议 --- 理解网段划分,NAT策略,私有IP和公网IP,认识公网

任何收获都不是偶然, 一点一滴的进步终会让未来的你焕然一新! 从零开始认识IP协议 1 为什么要进行网段划分2 特殊IP地址与数量限制3 私有IP和公网IP4 彻底理解网段划分5 认识公网 1 为什么要进行网段划分 我们以一个例子来讲解为什么要进行网段划分&a…

自动驾驶系列—图像数据在自动驾驶中的关键角色及其实际应用场景探讨

🌟🌟 欢迎来到我的技术小筑,一个专为技术探索者打造的交流空间。在这里,我们不仅分享代码的智慧,还探讨技术的深度与广度。无论您是资深开发者还是技术新手,这里都有一片属于您的天空。让我们在知识的海洋中…

hardhat部署智能合约

Hardhat安装 安装node 可以使用 nvm 安装node GitHub - nvm-sh/nvm: Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions 安装Hardhat 打开命令行工具,输入: mkdir hardhat-demo cd hardhat-demo npm i…