qt基础
αt的移植性非常的强。一套代码我们不用改太多,直接通用所有的平台。
不久的将来,qt会被用到MCU上,学习QT还是非常有意义的
QT += core gui //往QT工程里面加入 core gui 模块
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets //假如QT库版本大于4,就加入一个 widgets 模块
TARGET = class1 //生成 app
TEMPLATE = app //编译产生的类型
DEFINES += QT_DEPRECATED_WARNINGS //定义一个宏
SOURCES += //指定工程里面有哪些cpp
main.cpp
widget.cpp
HEADERS += 指定工程里面都有哪些头文件
widget.h
FORMS += 指定工程里面都有哪些ui文件
widget.ui
做一个简单的QQ登录界面
我们用到组件
放图片,放文本,放gf图的组件就是 glabel.
放账号和密码的对话框我们用的组件是qlinedit.
按钮我们使用的组件是 pushbutton.
1、给控件改名字
为了分析代码方便,我们要给控件改名字。要通俗易懂。
2什么是信号和槽
信号:信号就是指控件发出的特定的信号。
比如按钮的信号:
Signals
void clicked (bool checked= false)
void pressed
void released
void toggled(bool checked
槽:槽就是槽函数的意思,我们可以把槽函数绑定在某一个控件的信号上
3怎么关联信号和槽
<1>自动关联
手动选择相应的控件,然后右键->转到槽。
自动关联会给我们的工程添加以下内容:
曹函数只能声明到 private slote 或者 public slots 下面
<2>手动关联
手动关联使用 connect这个函数
connect(ui->logo Bt, SIGNAL(clicked), this, SLOT (logoBt clicked slots)
connect(A, SIGNAL(B), C, SLOT(D);
当对象A发出B信号时候,就会触发对象C的槽函数D
qt下的布局
1、水平布局:
2、垂直布局:
3、栅格布局:
一、qt的三驾马车:
1、qt下的串口编程:
2、qt下的网络编程:
3、qt下操作GPIO:
二、仿写串口助手
步骤一:做好UI界面
步骤二:实现逻辑功能
打包和部署:(我们打包成.exe 在windous 上直接能使用的应用程序)
问题一:什么是打包和部署?
因为我们要把写好的程序发给用户来用,我们写好的源码也不是随便给别人的。
问题二:怎么打包和部署?
1.我们把工厂切换到release模式,然后编译。
release模式:基本没有调试信息。
debug模式:有很多调试信息。
2.找到release模式构建的文件夹。
3.改一下图标。先把图标加到工程所在文件夹。然后在pro文件里面添加
RC_ICONS=serial_iocn.ico
注意:图标的格式必须为.ico这个格式的,其他格式不行。
4.封包操作,需要用到QT的控制台,如下图:
我们需要电脑桌面上创建一个新的文件夹,注意千万不要有中文路径。
命令:
cd /d 新的文件夹的路径(如 c://....)
我们使用windeployqt工具把库加到我们新创建的这个文件夹里面。
格式:windeployqt exe文件的名称
QT TCP:
QT的网络编程
网络编程有TCP和∪DP.
TCP编程需要用到俩个类: QTcpServer和 QTcpSocket
控件记录:
input widgets:
接收框: Plain Text edit(控件)
发送框: Line Edit
Button:
按钮:pushButton
Display Widgets:
文字显示:label
Containers (容器)
Group Box