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

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.rhkb.cn/news/291005.html

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

相关文章

js的一些底层

数据类型 按照存储方式,JavaScript的数据类型可以分为两种,原始数据类型(原始值)和引用数据类型(引用值)。 原始数据类型目前有六种,包括Number、String、Boolean、Null、Undefined、Symb…

若依ruoyi-vue实现excel导入导出

文章目录 Excel注解excel数据导入前端实现后端实现 下载模板前端实现后端实现 excel数据导出前端实现后端实现 自定义标题信息导出用户管理表格新增标题(用户列表)导入表格包含标题处理方式 自定义数据处理器自定义隐藏属性列导入对象的子对象导出对象的…

网络安全新视角:数据可视化的力量

在当今数字化时代,网络安全已成为各大企业乃至国家安全的重要组成部分。随着网络攻击的日益复杂和隐蔽,传统的网络安全防护措施已难以满足需求,急需新型的解决方案以增强网络防护能力。数据可视化技术,作为一种将复杂数据转换为图…

5-规范设计(下):commit信息风格迥异、难以阅读,如何规范?

我们在做代码开发时,经常需要提交代码,提交代码时需要填写 Commit Message(提交说明),否则就不允许提交。 所以在 Go 项目开发时,一个好的 Commit Message 至关重要: 可以使自己或者其他开发人…

mapbox-gl扩展sprites图片

在mapbox-gl.js中,通过在styles中设置sprite和glyphs,实现样式图标和字体的加载。而一旦style加载完成,如果重置地图中的style,则会导致地图全部重新加载,图层的顺序,地图上的要素,都会丢失&…

Halcon3D表面平面度检测-平面差值法

//倾斜平面矫正 https://blog.csdn.net/m0_51559565/article/details/137146179前言 通常我们对表面平面度进行检测时,通常使用2种方式。1:通过大卷积核的高斯滤波进行拟合平面,然后求取拟合平面与3D模型间的点间的距离。2:通过平…

lua脚本在redis集群中哈希槽分片问题

上文说到,通过用redis lua脚本实现时间窗分布式限流 可以操作redis lua脚本来实现时间窗限流,在执行lua脚本的时候,参数中有个keys列表,当lua脚本中如果有操作多个key的情况,就可以传个key列表了。通常情况下&#xff…

鸿蒙OS开发实例:【消息传递】

介绍 在HarmonyOS中,参考官方指导,其实你会发现在‘指南’和‘API参考’两个文档中,对消息传递使用的技术不是一对一的关系,那么今天这篇文章带你全面了解HarmonyOS 中的消息传递 概况 参照官方指导,我总结了两部分…

python基于django的高校迎新系统 flask新生报到系统

系统的登录界面和业务逻辑简洁明了,采用一般的界面窗口来登录界面,整个系统更加人性化,用户操作更加简洁方便。本系统在操作和管理上比较容易,还具有很好的交互性等特点,在操作上是非常简单的。因此,本系统可以进行设计…

redis集群配置(精华版):主从复制模式

主从复制模式 概念:作用:为什么使用集群:动手实操1、环境准备2、配置redis.conf配置文件3、再次查看主从节点信息4、验证主从模式 概念: ​ 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器…

使用hexo框架快速在github上搭建静态博客

今天来说一下使用hexo框架搭建静态博客,玩玩还不错。 我的操作系统 文章目录 一、部署到本地二、新建博客三、更换主题四、部署到github五、其他 一、部署到本地 首先下载好nodejs和git工具,建议直接去清华镜像源下载 node.js git 这中间环境变量的配置…

OpenHarmony动效示例-如何使用animateTo实现显式动画。

介绍 利用ArkUI组件不仅可以实现局部属性变化产生的属性动画,也可以实现父组件属性变化引起子组件产生过渡效果式的全局动画即显式动画。效果如图所示: 相关概念 显式动画:提供全局animateTo显式动画接口来指定有闭包代码导致的状态变化插入…

Pytorch从零开始实战22

Pytorch从零开始实战——CycleGAN实战 本系列来源于365天深度学习训练营 原作者K同学 内容介绍 CycleGAN是一种无监督图像到图像转换模型,它的一个重要应用领域是域迁移,比如可以把一张普通的风景照变化成梵高化作,或者将游戏画面变化成真…

vue3封装Element导航菜单

1. 导航外层布局 AsideView.vue <template><el-menu:default-active"defaultActive"class"my-menu":collapse"isCollapse":collapse-transition"false"open"handleOpen"close"handleClose"><menu…

Netty核心原理剖析与RPC实践6-10

Netty核心原理剖析与RPC实践6-10 06-粘包拆包问题&#xff1a;如何获取一个完整的网络包 本节课开始我们将学习 Netty 通信过程中的编解码技术。编解码技术这是实现网络通信的基础&#xff0c;让我们可以定义任何满足业务需求的应用层协议。在网络编程中&#xff0c;我们经常…

QT资源添加调用

添加资源文件&#xff0c;新建资源文件夹&#xff0c;命名resource&#xff0c;然后点下一步&#xff0c;点完成 资源&#xff0c;右键add Prefix 添加现有文件 展示的label图片切换 QLabel *led_show; #include "mainwindow.h" #include<QLabel> #include&l…

mysql 常见运算符

学习了mysql数据类型&#xff0c;接下来学习mysql常见运算符。 2&#xff0c;常见运算符介绍 运算符连接表达式中各个操作数&#xff0c;其作用是用来指明对操作数所进行的运算。运用运算符 可以更加灵活地使用表中的数据&#xff0c;常见的运算符类型有&#xff1a;算…

增强现实(AR)的开发工具

增强现实&#xff08;AR&#xff09;的开发工具涵盖了一系列的软件和平台&#xff0c;它们可以帮助开发者创造出能够将虚拟内容融入现实世界的应用程序。以下是一些在AR领域内广泛使用的开发工具。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎…

【最新版RabbitMQ3.13】Linux安装基于源码构建的RabbitMQ教程

前言 linux环境 安装方式有三种&#xff0c;我们这里使用源码安装 Linux下rpm、yum和源码三种安装方式简介 个人语雀首发教程&#xff1a;https://www.yuque.com/wzzz/java/kl2zn22b42svsc6b csdn地址: https://blog.csdn.net/u013625306/article/details/137151862 安装版本…

三菱Q系列PLC以太网TCP通讯FB块源码

三菱Q系列PLC的tcp通讯&#xff0c;客户端和服务器两个变量好用的FB块&#xff0c;调用块就可以实现通讯连接&#xff0c;不需要自己写程序&#xff0c;简单配置引脚就可以。该块还集成了断网&#xff0c;连接错误&#xff0c;发送接收数据错误报警等功能。具体功能见下面介绍.…