Qt之QWidget相关
Qt概述
Qt 是一个跨平台的 C++ 开发框架。
跨平台支持:可以用于开发 Windows、macOS、Linux、Android、iOS 等多种操作系统下的应用程序。这意味着开发者使用 Qt 编写的代码,在经过适当的编译和配置后,能够在不同平台上运行,减少了为每个平台单独开发的成本。
丰富的库和工具:它提供了大量的类库来处理图形用户界面(GUI)开发、数据库访问、网络通信、多媒体处理等诸多任务。例如,在 GUI 开发方面,有各种现成的窗口部件(如按钮、文本框等),能帮助开发者快速构建出美观实用的界面。
信号与槽机制:这是 Qt 的一个特色通信机制。信号可以由对象发出,比如按钮的点击信号;槽是接收信号后执行的函数。这种机制使得对象间的通信更加灵活和安全,方便开发者实现事件驱动的编程。
面向对象设计:Qt 是基于 C++ 的,充分利用了面向对象编程的特点。开发者可以通过继承、封装等方式高效地构建复杂的应用程序,方便代码的维护和扩展。
应用广泛:在桌面软件开发、移动应用开发、嵌入式系统开发等领域都有大量应用。例如一些知名的软件就是用 Qt 开发的,它为开发高质量的软件提供了有力的支持。
创建项目
项目的本质是一个存储程序相关文件的文件夹
Qt Creator创建项目方式1:文件->新建文件或项目
方式2:点击new project
方式3:点击编辑,在其项目栏空白区域点击鼠标右键,选择新建项目
注意:项目的名称与存储项目的路径中不要有中文或特殊符号
项目结构
项目名.pro
作用:项目的配置文件,如项目名称,项目中窗口对应的头文件,源文件,ui文件,支持的库,忽略警告等
头文件:
作用:存储项目中窗口对应的头文件,一个窗口对应一个类,一个窗口对象就是一个类对象
源文件:
main.cpp
1,创建一个应用程序
2,创建一个窗口
3,显示窗口
4,获取执行权到窗口中
通过对main.cpp的分析,我们发现窗口的相关代码在窗口的构造函数中书写
ui文件:
作用:存储窗口对应的布局文件
Qt对象模型
QObject
QWidget
QMainWindow
QPushButton
......
QTUI文件坐标系
左上角为(0,0)点
x轴向右为正
y轴向下为正
设置窗口
resize(int w,int h); 设置窗口大小,可拖拽改变
setFixedSize(int w,int h); 设置窗口大小,不可拖拽改变
setWindowTitle(QString str); 设置窗口标题
QPushButton
概述:Qt提供按钮的类
创建:
方式1:代码创建
QPushButton *变量名 = new QPushButton(this);
QPushButotn *变量名 = new QPushButton("展示的文本",this);
方式2:UI文件中拖拽
ui->组建在文件中的objectname
相关函数:
继承于QWidget,所以QWidget提供的函数与变量都可以用
text(); //获取当前按钮上显示的信息
setText("显示的内容"); //设置按钮上现实的文本
常用信号:
clicked(bool b); //点击信号
QWidget提供的槽
close(); //关闭
show(); //显示
hide(); //隐藏
信号与槽
绑定信号与槽
connect(谁1,信号,谁2,槽函数);
Qt4的写法:connect(谁1,SIGNAL(信号(形参列表)),谁2,SLOT(槽函数(形参列表)));
Qt5的写法:
connect(谁1,&谁1的类名::信号,谁2,&谁2的类名::槽函数名);
注意:1,谁1,谁2都必须是QObject的子类对象
2,槽函数的参数数量不能多于其所绑定信号的参数数量。
3,可以使用emit发送信号
emit 谁->信号(实参);
4,一个信号可以绑定多个槽
5,多个信号可以绑定同一个槽
6,信号可以连接信号
自定义槽
1,在对应的窗口的头文件中定义槽函数
public slots:
void 槽函数名(形参列表);
void 槽函数名(形参列表);
...
2,在源文件中实现该槽函数
3,使用connect绑定信号与槽
自定义信号
1,在对应的窗口的头文件中定义
signals:
void 信号名(形参列表);
注意:
信号不用实现
相关文章:
Qt之QWidget相关
Qt概述 Qt 是一个跨平台的 C 开发框架。 跨平台支持:可以用于开发 Windows、macOS、Linux、Android、iOS 等多种操作系统下的应用程序。这意味着开发者使用 Qt 编写的代码,在经过适当的编译和配置后,能够在不同平台上运行,减少了…...
用web前端写出一个高校官网
所实现的效果如链接: http://127.0.0.1:5500/school.html <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>xigongshang</title> <style> * {margin: 0;padding: 0;} a{ text-decoration: none…...
【笔记】Android Gradle Plugin配置文件相关说明-libs.versions.toml
版本号 文件路径:Project\gradle\libs.versions.toml 直接搜索versions.agp是找不到的,这是变量引用的写法,查询 agp版本可以直接查版本号。 [versions] agp "8.5.0-alpha08" junit "4.13.2" junitVersion "1.…...
如何修复WordPress卡在维护模式
当你管理WordPress网站时,没有什么比看到它卡在维护模式更令人沮丧的了。特别是在你进行重要更新或期望大量流量的时候,这种情况会更加令人不安。 维护模式可能由许多因素引起,从简单的文件损坏到更复杂的插件冲突或存在的.maintenance文件。…...
glob三个函数的效果
glob 允许你给一个从dirname到basename pattern的整字符串路径,然后匹配一切符合要求的路径。 glob0 dirname和basename分开传,只返回basename。可见不支持pattern匹配。 glob1 dirname和basename pattern分开传,只返回basename。支持pa…...
FreeRTOS:事件标志组与任务通知
目录 一、事件标志组(Event Groups) 1、事件标志组的特点 2、事件标志组与队列、信号量的区别 3、关键API函数 4、示例代码 5、优缺点 6、总结 二、任务通知(Task Notifications) 1、任务通知的特点 2、关键API函数 3、…...
c++11的动态类型
c17引入了any 和 variant,可以将任意数据类型统一用any或variant类型表示,在开发中还是能够带来很多便利的。在c11版本中,可以用下面这个例子,仿照实现一个Any类型。 #include <iostream> #include <stdexcept> #inc…...
付费会员渗透难,腾讯音乐的触顶挑战
腾讯音乐付费用户增长背后,月活跃用户数下滑3%,超级会员渗透率仅1.8%。 转载|原创新熵 作者丨晓伊 编辑丨蕨影 腾讯音乐此次营收同比正增长的到来,殊为不易。要知道,此前已连续四个季度出现营收同比下滑的态势。 11月12日&#x…...
内网安全隧道搭建-ngrok-frp-nps-sapp
1.ngrok 建立内网主机与公网跳板机的连接: 内网主机为客户机: 下载客户端执行 2.frp (1)以下为内网穿透端口转发 frp服务端配置: bindPort 为frp运行端口 服务端运行 ./frps -c frps.ini frp客户端配置…...
Load-Balanced-Online-OJ(负载均衡式在线OJ)
负载均衡式在线OJ 1. 项目介绍2. 项目说明4. 项目代码5. 项目演示 1. 项目介绍 2. 项目说明 4. 项目代码 5. 项目演示...
Postman之变量操作
系列文章目录 1.Postman之安装及汉化基本使用介绍 2.Postman之变量操作 3.Postman之数据提取 4.Postman之pm.test断言操作 5.Postman之newman Postman之变量操作 1.pm.globals全局变量2.pm.environment环境变量3.pm.collectionVariables集合变量4.pm.variables5.提取数据-设置变…...
查找字符串中某个字符返回字符位置
当然有正则表达式就非常简单,没有的话也不用担心,我们自己写算法完成这个功能. 早期的vs版本不支持vs,当然也可以下载boost来实现,关键还是不想下载,那么就自己写吧. 1.要求,查找字符串中同一个字符,并找出字符的位置. 2.根据字符位置,计算出对应的x,y坐标. 算法第一步,查找字…...
《数学物理学报》
作者指南 一、目的与范围 《数学物理学报》以刊登数学与物理科学的边缘学科中具有创造性的代表学科水平的科研成果为主的综合性学术刊物。其目的旨在向专业读者(研究生水平以上)提供数理学科领域的重要的、独创的成果。 二、投稿 要求文章内容具有创新…...
39页PDF | 毕马威_数据资产运营白皮书(限免下载)
一、前言 《毕马威数据资产运营白皮书》探讨了数据作为新型生产要素在企业数智化转型中的重要性,提出了数据资产运营的“三要素”(组织与意识、流程与规范、平台与工具)和“四重奏”(数据资产盘点、评估、治理、共享)…...
K8s 一键部署 MongoDB 的 Replica-Set 和 MongoDB-Express
什么是 MongoDB 副本集? MongoDB 副本集(Replica-Set)是一个分布式数据库系统,它包含一个主节点和多个从节点。主节点负责处理所有写操作,从节点用于读取数据。当主节点发生故障时,从节点可以自动选举一个…...
2024小迪安全基础入门第四课
目录 Web应用&蜜罐系统&堡垒机运维&API内外接口&第三方拓展架构&部署影响 堡垒机的核心功能 堡垒机的优势 API的结构 Web应用&蜜罐系统&堡垒机运维&API内外接口&第三方拓展架构&部署影响 蜜罐(Honeypot)是…...
一文详解使用java easyexcel导出文件的几种情况
情况一:简单的导出指定类型文档,不要求格式 filePath-文件路径// 设置响应头response.setContentType("application/octet-stream");// 字符集处理,确保文件名的正确显示response.setHeader("Content-Disposition","…...
【蓝桥杯C/C++】深入解析I/O高效性能优化:std::ios::sync_with_stdio(false)
博客主页: [小ᶻZ࿆] 本文专栏: 蓝桥杯C/C 文章目录 💯前言💯C 语言与 C 语言的输入输出对比1.1 C 语言的输入输出1.2 C 语言的输入输出 💯 std::ios::sync_with_stdio(false) 的作用与意义2.1 什么是 std::ios::sync_with_st…...
NUXT3学习日记四(路由中间件、导航守卫)
前言 在 Nuxt 3 中,中间件(Middleware)是用于在页面渲染之前或导航发生之前执行的函数。它们允许你在路由切换时执行逻辑,像是身份验证、重定向、权限控制、数据预加载等任务。中间件可以被全局使用,也可以只在特定页…...
数据科学与SQL:组距分组分析 | 区间分布问题
目录 0 问题描述 1 数据准备 2 问题分析 3 小结 0 问题描述 绝对值分布分析也可以理解为组距分组分析。对于某个指标而言,一个记录对应的指标值的绝对值,肯定落在所有指标值的绝对值的最小值和最大值构成的区间内,根据一定的算法&#x…...
Tftpd32/Tftpd64不止是TFTP!手把手教你玩转它的DHCP和Syslog服务器功能
Tftpd32/Tftpd64:解锁DHCP与Syslog服务的隐藏潜力当大多数人提起Tftpd32/Tftpd64时,第一反应往往是它作为TFTP服务器的功能。这款轻量级工具确实在文件传输领域表现出色,但它的能力远不止于此。今天,我们将深入探索这款软件中两个…...
别只拿PotPlayer看片了!挖掘它的采集录制功能,做Switch游戏存档大师
别把PotPlayer当普通播放器!解锁它的Switch游戏录制黑科技 你是否已经厌倦了在OBS、Bandicam等专业录制软件中反复调试参数的繁琐?是否想过那个每天用来看视频的PotPlayer,其实隐藏着令人惊喜的游戏录制能力?今天,我们…...
第三卷第4章:原型模式设计思想
第三卷第4章:原型模式设计思想 目录介绍 01.案例引入与思考 1.1 痛点场景 1.2 它哪里不舒服 1.3 引出本篇主角 02.原型模式介绍 2.1 原型模式由来 2.2 原型模式定义...
Keil µVision链接器错误204解决方案
1. 问题现象与背景解析最近在使用Keil Vision进行嵌入式开发时,不少工程师遇到了一个令人头疼的链接器错误。具体表现为编译时出现"FATAL ERROR 204: INVALID KEYWORD"的致命错误,错误位置指向链接器控制文件中的特定行。这个问题在C166和C51两…...
Allegro PCB设计小技巧:如何让Route Keepout区域既能走线又能打过孔(附详细步骤图)
Allegro PCB设计实战:Route Keepout区域的灵活控制技巧 在高速PCB设计中,Route Keepout区域的管理常常让工程师陷入两难境地——元件封装自带的限制区域与实际布线需求产生冲突。特别是处理PCIE等高速信号时,这种矛盾尤为突出。传统做法要么完…...
如何在浏览器中一键解密所有加密音乐文件:Unlock-Music完全指南
如何在浏览器中一键解密所有加密音乐文件:Unlock-Music完全指南 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库: 1. https://github.com/unlock-music/unlock-music ;2. https://git.unlock-music.dev/um/web 项目地…...
如何快速解锁中兴光猫权限:zteOnu工具完整使用指南
如何快速解锁中兴光猫权限:zteOnu工具完整使用指南 【免费下载链接】zteOnu A tool that can open ZTE onu device factory mode 项目地址: https://gitcode.com/gh_mirrors/zt/zteOnu 中兴光猫作为家庭网络的核心设备,其强大的硬件性能常常被默认…...
Lovable电商网站搭建:如何用不到3人技术团队,72小时内上线PCI-DSS合规MVP版本?
更多请点击: https://codechina.net 第一章:Lovable电商网站搭建 Lovable 是一个面向中小商户的轻量级电商解决方案,采用现代 Web 技术栈构建,强调可扩展性、用户体验与快速部署能力。本章将指导你从零开始搭建一个具备商品展示、…...
量子机器学习与傅里叶分析:革新期权定价的混合计算范式
1. 项目概述:当量子机器学习遇见金融定价在金融工程的核心地带,期权定价一直是个计算密集型的硬骨头。传统的蒙特卡洛模拟虽然通用,但为了达到足够的精度,动辄需要百万甚至千万次的路径模拟,计算成本高昂。近年来&…...
三步破解百度网盘限速:免费获取真实下载链接的终极指南
三步破解百度网盘限速:免费获取真实下载链接的终极指南 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 还在为百度网盘几十KB的龟速下载而苦恼吗?想要彻…...
