QT课程 UI设计

news2024/9/22 15:36:50

目录

1.面板的划分

2.组件对象和继承关系

3.QWidget类

注:学习布局前先知道这点

4.Layout 布局

5.Spacers 间隔器

6.基础组件对象

6.1 QLabel便签组件

6.2 QAbstractButton 按钮类

6.3 QLineEdit 单行文本输入框

6.4 QSpinBox(数字选择器)与 QProgressBar(进度条)


1.面板的划分

点击进入UI文件,可以使用内置的Designer程序进行可视化效果的拖拽设计,各个组成面板如下所示。

注:对应部件的属性设置都可以通过代码实现,大佬可以不同过ui的面板做出来

2.组件对象和继承关系

Qt使用的C++思想,里面的窗口,组件(例如按钮,对话框等等),都是一种类。他们中有着继承关系。

下面是大佬整理的qt间组件和控件的关系。

http://t.csdn.cn/Wlj1j

本课程属于入门篇,熟悉下面几个就可

3.QWidget类

QWidget类是所有窗口与组件对象的基类,下面是常见的ui界面能设置的属性(注:QWidget类的属性不只是界面这些)

通过帮助手册可以获取更多本类的相关信息

可以看到QWidget属性

注:学习布局前先知道这点

4.Layout 布局

我们可以认为布局是一个透明的玻璃箱,内部存放一些组件对象,这些内部的组件对象会按照布局施加的规则,自动排布。

本次学习主要使用两个布局:

垂直布局表示内部组件纵向线性排布,水平布局表示内部组件水平线性排布。

垂直布局和水平布局的属性几乎一致。

打破布局

5.Spacers 间隔器

将组合的模块间隔,需要和布局组合使用。

布局支持嵌套,在内层布局可以视为是外层布局的一个组件。

6.基础组件对象

6.1 QLabel便签组件

标签组件用于展示文字或图片,并不会与用户的操作进行交互。

第一步(所有的部件都一样的操作)

第二步(所有的部件都一样的操作)

下面是常用的属性

了解更多属性可以查询帮助手册:

QLabel中出现了显示图片选项,显示图片需要先把图片导入到项目中

1.设计或下载图片,并命名为非中文。

2.把图片放置到项目的工作目录下。

3.在Qt Creator中选中项目名称,鼠标右键,点击“添加新文件”。

4.在弹出的窗口中,按照下图所示进行操作。

5.在弹出的窗口中给资源文件命名(全英文小写)后,点击“下一步”。

6.在项目管理界面,直接点击“完成”。可以看到项目中多了.qrc资源文件。

7.点击 添加 --- 添加前缀后,再次点击 添加 --- 添加文件,选中到导入图片文件。

有时候图片的导入可能会失败,有以下几种原因:

● 图片格式不支持(通常使用png、jpg、bmp等格式)

● 图片受损

● 图片过大(体积过大、分辨率过高)

8.一定要点击左下角重新构件项目

6.2 QAbstractButton 按钮类

QAbstractButton是按钮的抽象类,(第一遍)建议一个类如果有抽象基类,优先查看抽象基类的文档。

按钮的相关属性有:

需要注意的是单选按钮默认在同一个布局层次中互斥。

按钮点击后会触发信号,我们看看按钮的信号

(第二遍)建议一个类如果有抽象基类,优先查看抽象基类的文档。

6.3 QLineEdit 单行文本输入框

用来输入一行文本

常见的属性:

常用的信号函数:

6.4 QSpinBox(数字选择器)与 QProgressBar(进度条)

QSpinBox用于选择一个数字,QProgressBar用于显示一个进度条。

虽然QSpinBox用于人机交互,而QProgressBar仅用于信息展示,但是它们两个组件的关键属性类似,如下所示:

信号:

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java面试项目三:在线教育

1、项目简介 项目规模:15人 项目周期:2021.5-至今 开发环境:Intellij IDEA、Maven、JDK1.8、GIT 所用框架:Spring、SpringBoot、Mybatis-Plus、SpringCloud、Shiro、XXL-Job、 其他技术:RocketMQ、Redis、Mysql、Mongo…

梦x西游H5页面搭建教程Centos

梦x西游H5页面搭建教程Centos 大家好,我是艾西,今天给大家分享一款H5页面的游戏搭建教程。版本分为三种族、四种族、五种族,大家可以自己喜欢哪个版本自己尝试开服架设等,今天我们以三种族的为演示。 那么让我们直接进入正题开…

9. Linux下实现简单的socket通讯

本文简单介绍了UDP传输层协议,并在Linux下实现简单的socket通讯 一、UDP UDP(User Datagram Protocol,用户数据报协议)是一种无连接的传输层协议,它不保证数据包的可靠性和顺序。UDP在IP协议的基础上增加了简单的差错…

es 四 快速入门****

目录 查看集群状态 **颜色: 查看集群索引 **简单的索引操作 kibana 创建索引模式 Es 存储 文档 json数据 查看集群状态 get /_cat/health 带上表头 get /_cat/health?v **颜色: 绿色: 主分片副本分片可用 黄色: 主分片可用、副本分片不可用 红…

Java 与数据结构(6):快速排序

ChatGPT 中文指南(大全) 内容包含:如何开通chatgpt、chatgpt的同类站点、prompts 、AI绘图、ChatGPT 工具、相关报告论文、ChatGPT应用项目等 链接:ChatGPT 中文指南(大全) 指令指南,精选资源清单,更好的使用 chatGPT 让你的生产力…

C++线程池介绍和C++代码实现

1、介绍 1.1 线程池应用场景 在进行创建线程任务时,如果需要频繁的创建线程、销毁线程,这样会极大地降低效率,因为创建线程也是需要时间的,一个完整的线程处理运行时间包括:线程的创建时间、线程运作时间、线程的销毁…

【C++】-string的介绍以及使用(迭代器的介绍和使用)

💖作者:小树苗渴望变成参天大树 ❤️‍🩹作者宣言:认真写好每一篇博客 💨作者gitee:gitee 💞作者专栏:C语言,数据结构初阶,Linux,C 如 果 你 喜 欢 作 者 的 文 章 ,就 给 作 者 点…

谈谈国产化CRM系统市场前景与发展趋势

随着数字化时代的到来,CRM系统已经成为企业管理中不可或缺的一部分。在过去,大多数企业都选择使用海外CRM系统,比如Salesforce、SAP等,但随着国内CRM系统的逐渐发展,越来越多的企业开始将目光转向了国产CRM系统。 一、…

Qt--自定义控件

写在前面 Qt中提供了应用在各种场景的控件,使开发人员在实际工作中选择。但有些特定的场合中这些控件并不满足需要时,Qt允许使用自定义的控件。 例:我们在工作中有这样一种需求,点击按钮会根据一些其他状态来显示不同的图片&…

在外远程登录局域网下的象过河ERP管理系统,无需公网IP

文章目录 概述1.查看象过河服务端端口2.内网穿透3. 异地公网连接4. 固定公网地址4.1 保留一个固定TCP地址4.2 配置固定TCP地址 5. 使用固定地址连接 转发自CSDN远程穿透的文章:公网远程访问公司内网象过河ERP系统「内网穿透」 概述 ERP系统对于企业来说重要性不言而…

3D可视化智慧档案馆一体建设平台设计的主要依据

1、《中华人民共和国档案法》 2、《中华人民共和国档案实施办法》 3、GB/T 9386-1988《计算机软件测试文件编制规范》 4、GB/T 15532-1995《计算机软件单元测试规范》 5、GB/T 30961-2014 嵌入式软件质量度量 6、GB2421-89 电工电子产品基本环境试验规程 7、GB16796-2009…

【1377. T 秒后青蛙的位置】

来源:力扣(LeetCode) 描述: 给你一棵由 n 个顶点组成的无向树,顶点编号从 1 到 n。青蛙从 顶点 1 开始起跳。规则如下: 在一秒内,青蛙从它所在的当前顶点跳到另一个 未访问 过的顶点&#xf…

网终安全技术(刘化君)课后被略的答案

目录 8.HTTP客户机与Wb服务器通信通常会泄露哪些信息? 9.在TCP连接建立的3次握手阶段,攻击者为什么可以成功实施SYN Flood攻击?在实际中,如何防范此类攻击? 常用的网络漏洞扫描技术有哪几种?试举例说明。…

Visual Studio 2010环境新建C工程项目

新建C工程项目 文章目录 新建C工程项目前言1、新建空项目2、编写程序2.1 Hello World2.1 执行.exe文件 3、总结 前言 学习C语言使用的编译器比较多,常见的有VC6.0、Dev-C、Visual Studio、CodeBlocks等环境软件。 Visual Studio和CodeBlocks的功能就稍微强大很多&a…

MySQL_5 有丶牛逼的查询语句

目录 一、分组查询 1.基本语法 : 2.代码演示 : 二、分页查询 1.基本语法 : 2.代码演示 : 三、多表查询 1.定义 : 2.语法 : 3.演示 : 四、嵌套查询 1.定义 : 2.单行子查询 : 1 特点 2 演示 3.多行子查询 : 1 特点 2 演示 4.临时表 : 1 定义 2 演示 5.多列子查询 …

Emacs之实时渲染markdown(九十五)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

Web安全常见攻击

前言 本篇主要简单介绍在 Web 领域几种常见的攻击手段。 1. Cross Site Script(XSS跨站脚本攻击) 首先插播一句,为毛叫 XSS,缩写明显是 CSS 啊?没错,为了防止与我们熟悉的 CSS(Cascading Style Sheets&am…

类ChatGPT的各种语言大模型LLM开源Github模型集合​

作为开发人员,面对堪称科技奇点爆发的ChatGPT,我们如何应对。当然是努力跟进,虽然ChatGPT不开源,但是有诸多不输ChatGPT的各类语言大模型LLM有分享。我们筛选出其中影响力较大的各个开源Github仓库,收录到 类ChatGPT的…

由浅入深Dubbo网络通信协议大全

目录 1 网络通信协议1.1 dubbo协议1.2 rmi协议1.3 hessian协议1.4 http协议1.5 webservice协议1.6 thrift协议1.7 rest协议1.8 grpc协议1.9 memcached协议1.10 redis协议 2 序列化实现剖析 1 网络通信协议 在之前的内容中,我们讲解了消费者端服务发现与提供者端服务…

局部最小值问题

局部最小值问题 自写&#xff1a; // arr 相邻的数不相等&#xff01; 返回一个局部最小的下标public static int oneMinIndex(int[] arr) {if(arr null || arr.length 0) {return -1;}if(arr.length 1) {return 0;}int L 0;int R arr.length - 1;if(arr[L] < arr[L 1…