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

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

1.学习路径

一 QT简介 ,QTCreator ,QT工程 ,QT的第一个程序,类,组件

二 信号与槽

三 对话框

四 QT Desiner 控件 布局 样式

五 事件

六 GUI绘图

七 文件

八 网络编程

九 线程

十 数据库

十一 QML

十二 项目
2.QT的特性: 图形界面开发 (兼容js)

  1. 跨平台 C++

到处编译,到处运行

  1. 开源(诺基亚)

社区支持

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.收到之后干嘛 槽函数执行

编程 : 描述事物

事 算法 函数

物 数据结构 对象

基本的 标准信号与槽

信号 和 槽函数是本来就有的

信号属于 信号发送者

槽函数 属于 信号接收者

相关推荐
童先生19 分钟前
Go 项目中实现类似 Java Shiro 的权限控制中间件?
开发语言·go
lulu_gh_yu20 分钟前
数据结构之排序补充
c语言·开发语言·数据结构·c++·学习·算法·排序算法
huanggang98220 分钟前
在Ubuntu22.04上使用Qt Creator开发ROS2项目
qt·ros2
Re.不晚44 分钟前
Java入门15——抽象类
java·开发语言·学习·算法·intellij-idea
老秦包你会1 小时前
Qt第三课 ----------容器类控件
开发语言·qt
凤枭香1 小时前
Python OpenCV 傅里叶变换
开发语言·图像处理·python·opencv
ULTRA??1 小时前
C加加中的结构化绑定(解包,折叠展开)
开发语言·c++
远望清一色1 小时前
基于MATLAB的实现垃圾分类Matlab源码
开发语言·matlab
confiself1 小时前
大模型系列——LLAMA-O1 复刻代码解读
java·开发语言
XiaoLeisj2 小时前
【JavaEE初阶 — 多线程】Thread类的方法&线程生命周期
java·开发语言·java-ee