【QT学习】1.qt初识,创建qt工程,使用按钮,第一个交互按钮

news/2024/6/24 9:02:29/文章来源:https://blog.csdn.net/m0_61659911/article/details/137124894

1.初识qt--》qt是个框架,不是语言

1.学习路径

一  QT简介 ,QTCreator ,QT工程 ,QT的第一个程序,类,组件
二  信号与槽
三  对话框
四  QT Desiner   控件  布局  样式 
五  事件
六  GUI绘图
七  文件
八  网络编程
九  线程
十  数据库
十一 QML 
十二 项目

2.QT的特性: 图形界面开发  (兼容js)
    1. 跨平台  C++  
        到处编译,到处运行
    2. 开源(诺基亚)
        社区支持

3.QMake  CMake
    Makefile :脚本程序
        预处理  预编译  编译  链接 。。。。
        编译

    gcc  g++:程序    命令形式存在    

4.什么是QT?

        qt是跨平台的图形界面开发框架,其中包括很多模块(套件,例如widget),模块中包括很多提供给开发者的类。通过这种方式简化开发图形界面的速度。

2.qt的模块(部件)

        模块是qt的组成部分,模块中包括用户使用的类。例如network模块是网络相关,里面包括的类提供给开发者使用。

3.创建qt工程

1.文件---》创建新项目

2.建立一个空项目,语言使用C++

3.命名

4.使用qmake

        QMake  CMake:使用makefile
            Makefile :脚本程序
                预处理  预编译  编译  链接 。。。。
                编译

            gcc  g++:程序    命令形式存在    

5.点击minGW

        MSVC----》使用VS写qt

        minGW----》使用Qt  Creator写qt

6.其他

7.创建完成

4.编写第一个qt文件

《1》.pro编写

1.空项目中

2.添加资源文件

(1)添加main.cpp

(2)添加类文件

前面同理

《2》main编写(资源中)

        以下代码只是支撑,写qt必须要在此环境之下

QApplication a(argc,argv);

结果:


二。玩玩按钮(使用参考手册,选中按F1)

1.创建项目(不创建空,创建Widget项目:已经声明页面模块的项目)

我们前面创建先不用Generate form

2.参考文档使用

1.使用QpushButton类,点击F1,看它的参考手册

3.代码

MainWindow.class中创建成员属性

        but,but1都可以实现按钮

private:QPushButton* but;QPushButton but1;

1.在MainWindow.cpp中设置页面属性

//页面设置
this->setWindowTitle("玩按钮");
this->resize(500,500);

2.but按钮处理(MainWindow.cpp中)

//注意:需要设置父类为此页面--》这样才可以显示在此页面上
but=new QPushButton("连接",this);//创建按钮,名称连接,父类此页面
but->move(100,0);//移动按钮--》相对于左上角
but->resize(50,60);//按钮大小设置--》可以看参考文档

3.but1处理(MainWindow.cpp中)

but1.setText("关闭");//创建按钮,名称关闭
but1.setParent(this);//设置按钮,父类此页面
but1.move(100,100);
but1.resize(50,60);

4.connect交互处理,下一节详细讲(MainWindow.cpp中)

//通过connect函数实现函数的交互
connect(&but1,                    //发送者&QPushButton::pressed,  //发送触发事件this,                   //接受者&MainWindow::close);    //接受数据后处理操作

结果:

设置按钮窗口为MainWidget窗口的子窗口
设置MainWidget窗口为按钮窗口的父窗口
设置w为*btn的父对象


什么是信号与槽:
    connect  电信运营商 
    发短信  
    1.谁发            信号发送者    
    2.谁收            信号接收者
    3.发的什么内容        信号
    4.收到之后干嘛        槽函数执行

编程  : 描述事物
    事   算法        函数
    物   数据结构  对象

基本的 标准信号与槽
    信号  和  槽函数是本来就有的

    信号属于  信号发送者 
    槽函数 属于 信号接收者

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux监控命令全

1.1 top 1.1.1 命令说明 Top 命令能够实时监控系统的运行状态,并且可以按照cpu、内存和执行时间进行排序 1.1.2 用法 top -hv | -bcisSHM -d delay -n iterations [-u user | -U user] -p pid [,pid ...] 1.1.3 参数说明 命令行启动参数: -b : 批次…

YPay源支付V7开源版

YPay_V7版本即将停止维护更新,同时我们将开放最新版开源代码供学习和参考。虽然首批阶段的【function_8.1.php文件是加密的】,但授权已经除去,该代码将在新版YPay上线时开放给大家。我们也会定期进行迭代更新,随后将创建对应仓库&…

ImportError: cannot import name ‘PILLOW_VERSION‘ from ‘PIL‘

原因:torchvision模块在运行时要调用PIL模块的PILLOW_VERSION函数,但PILLOW_VERSION在Pillow 7.0.0之后的版本被移除了,Pillow 7.0.0之后的版本使用__version__函数代替PILLOW_VERSION函数。 解决方法:降低pillow版本即可。 参考…

梨花带雨网页音乐播放器二开优化修复美化版全开源版本源码

源码简介 最新梨花带雨网页音乐播放器二开优化修复美化版全开源版本源码下载 梨花带雨播放器基于thinkphp6开发的XPlayerHTML5网页播放器前台控制面板,支持多音乐平台音乐解析。二开内容:修复播放器接口问题,把接口本地化,但是集成外链播放器…

如何提bug?

很多公司都有提bug的标准,对于新人刚介入测试行业时,提bug的时候,描述的清晰与否就很重要,那一个很明朗清晰的bug应该包含那些呢? bug包含的要素有那些?(以jira工具为例) 1、项目名…

Topaz Gigapixel AI for Mac 图像放大软件

Topaz Gigapixel AI for Mac是一款专为Mac用户设计的智能图像放大软件。它采用了人工智能技术,特别是深度学习算法,以提高图像的分辨率和质量,使得图像在放大后仍能保持清晰的细节。这款软件的特点在于其能够将低分辨率的图片放大至高分辨率&…

电商搬家接口 一键复制商品信息Python php jason

随着电商行业的迅猛发展,越来越多的商家开始将目光投向了线上市场。然而,在电商平台上运营店铺并非易事,尤其是在商品信息的管理与营销方面。传统的商品信息录入方式不仅效率低下,而且容易出错,给商家带来了极大的困扰…

阿里云轻量应用服务器优惠价格表,61元和165元一年

阿里云轻量应用服务器2核2G和2核4G配置优惠价格表,轻量2核2G3M带宽61元一年,轻量2核4G4M带宽165元1年,均不限制月流量,阿里云活动链接 aliyunfuwuqi.com/go/aliyun 活动打开如下图: 阿里云轻量应用服务器价格 61元/年…

人工智能|推荐系统——搜索引擎广告

原文题目 Dark sides of artificial intelligence: The dangers of automated decision-making in search engine advertising(JASIST,2023) 人工智能的阴暗面:搜索引擎广告自动决策的危险 摘要 随着人工智能应用的日益广泛,搜索引擎供应商越来越多地要求广告商使用基于机…

LeetCode-73. 矩阵置零【数组 哈希表 矩阵】

LeetCode-73. 矩阵置零【数组 哈希表 矩阵】 题目描述:解题思路一:用 O(mn)额外空间,两遍扫matrix,第一遍用集合记录哪些行,哪些列有0;第二遍置0解题思路二:用O(1)空间,关键思想: 用matrix第一行和第一列记录该行该列是…

鸿蒙OS开发实例:【埋点探究】

背景 大多数软件产品上线前,都会采用有规则的日志来对软件进行相关数据的采集,这个过程称为:埋点,采集的数据主要用于产品分析。 埋点技术已在PC端, 移动端非常成熟,并且有大批量以此为生的公司。 本篇将探究一下Ha…

【目标检测】YOLOv5 网络结构,bottleneckCSP 与 C3 模块图解

文章目录 Focus 模块Csp 模块BottleneckCspC3CSP1_X 与 CSP_2XYOLOv4 的 CSP_X SSP 与 SSPF YOLOv5 作为 YOLO 家族的第五个版本,本身也演进了几个子版本,现在网上的资料都没有标注具体是哪个子版本的,导致不同文章之间各种混乱,像…

Java学习之类和对象、内存底层

目录 表格结构和类结构 表格的动作和类的方法 与面向过程的区别 具体实现 对象和类的详解 类的定义 属性(field 成员变量) 方法 示例--编写简单的学生类 简单内存分析(理解面向对象) 构造方法(构造器 constructor) 声明格式: 四…

前端缓存揭秘:5年前端技术的必备知识点

背景 本篇文章将详细讲述何为前端缓存,这也是前端工程师必备的知识点。 首先,我们不能少了干这事的目的,前端缓存有什么用? 缓存作用:加快资源获取速度,提高用户体验感,缓解服务端压力 我们带…

iOS移动应用实时查看运行日志的最佳实践

目录 一、设备连接 二、使用克魔助手查看日志 三、过滤我们自己App的日志 📝 摘要: 本文介绍了如何在iOS iPhone设备上实时查看输出在console控制台的日志。通过克魔助手工具,我们可以连接手机并方便地筛选我们自己App的日志。 &#x1f4…

pytorch yolov5+Deepsort实现目标检测和跟踪+单目测距

最近一直在整理单目测距的内容,想着检测单目测距都写完了,顺手也写个检测跟踪单目测距,算是总结下这部分内容吧,如果有错误,还请不吝赐教!! 参考文献: YOLOv5DeepSort实现目标跟踪 pytorch yolo…

微信过期图片恢复,这样做真的超简单(4个方法)

如今,微信已经成为我们日常生活中不可或缺的一部分。我们通过微信与朋友分享生活的点滴,其中不乏许多珍贵的图片。然而,随着时间的推移,一些图片可能会因为过期而被自动清理,这让我们感到遗憾和失落。幸运的是&#xf…

华为流量整形配置

组网需求 如图1所示,企业网内部LAN侧的语音、视频和数据业务通过Switch连接到RouterA的Eth2/0/0上,并通过RouterA的GE3/0/0连接到WAN侧网络。 不同业务的报文在LAN侧使用802.1p优先级进行标识,在RouterA上根据报文的802.1p优先级入队列&…

【软件安装】(十五)Ubuntu22.04+Anaconda安装labelimg

一个愿意伫立在巨人肩膀上的农民...... LabelImg是一款开源的图片标注工具,使用Python编写,基于PyQt5框架。它提供了一个直观的图形用户界面,方便用户对图片进行标注,并生成标注结果。LabelImg支持多种常见的标注格式,…

el-select的错误提示不生效、el-select验证失灵、el-select的blur规则失灵

发现问题 在使用el-select进行表单验证的时候&#xff0c;发现点击下拉列表没选的情况下&#xff0c;他不会提示没有选择选项的信息&#xff0c;我设置了rule如下 <!--el-select--><el-form-item label"等级" prop"level"><el-select v-m…