目录
- 视频链接:【QT快速入门 | 最简单最简洁的QT入门教程 | 嵌入式UI】 2、QT的编译_哔哩哔哩_bilibili
-
P1-QT开发概述
-
P2-QT的编译(略看)
- 流程
-
- 具体流程
- 编写源代码文件(qmake.cpp
窗口程序
- 编写源代码文件(qmake.cpp
- 具体流程
-
-
-
- 头文件
- 需要用到的组件需要在头文件中声明
- 头文件
-
-
-
-
-
- main():
-
-
-
-
-
-
- QLabel(标签)
- QLabel *命名(指针) = new QLable
- QPushButton(按钮)
- QPushButton *命名 = new QPushButton
- setText(设置文本)
- 语法
- QLabel(标签)
-
-
-
-
-
-
-
-
-
- xx主键名 -> setText("xxxx");
-
- 布局
- 水平布局
-
-
-
-
-
-
-
-
-
- 垂直布局
-
-
-
-
-
-
-
-
- widget(窗口)
-
-
-
-
-
- 修改环境变量(选做)
- 检查一下有没有配置环境变量
- 生成工程文件
- 1.打开Qt 5.9 for Desktop
- 修改环境变量(选做)
-
-
-
-
-
- 在这之中进入源文件所在目录
-
-
-
-
-
-
- 2,3,4步: (工程文件后缀:.pro)
-
-
-
-
-
-
- 下图所示
-
-
-
-
-
- 生成Makefile
- windows: mingw32-make
- 生成Makefile
-
-
-
- 编译结果
- 这里面有exe
- 编译结果
-
-
P3-开发工具-qtCreator
- 逻辑和界面设计分开
- 新建项目
-
-
- widget application
- mainwindow类型(带菜单栏的窗口
- widget application
-
-
-
-
- mainwidget类型(不带菜单栏的窗口
-
-
-
-
-
- maindialog类型(对话框
-
-
-
-
- 总览(mainwidget类型
-
-
-
-
- .pro文件只有网络,数据库相关才需要修改
- 头文件(讲解在p3 05:06
-
-
-
-
-
- 源文件(讲解在p3 06:57
-
-
-
-
-
- 设计--拖动式
-
-
-
-
-
-
- 组件类型(看不懂用翻译)
- layouts-布局
- 组件类型(看不懂用翻译)
-
-
-
-
-
-
-
-
- 占位符?(留白)
-
-
-
-
-
-
-
-
-
- 按钮
-
-
-
-
-
-
-
-
-
- 列表/表格展示
-
-
-
-
-
-
-
-
-
- 容器
-
-
-
-
-
-
-
-
-
- 标签
-
-
-
-
-
-
-
-
- 改属性(见上图右下角)
- 组件对应改类名
-
-
-
-
-
-
- 不懂查帮助(打出的语法光标放上面就行)
-
-
-
P4-信号与槽
- 概述:点击(发送信号)-接收信号执行对应函数(槽函数)
- connct()
- 傻瓜模式:
- 1
- 傻瓜模式:
-
-
-
- 会自动生成的:
- widget.cpp
- 会自动生成的:
-
-
-
-
-
-
- widget.h文件中
-
-
-
-
-
- 宏定义写法
- widget构造函数里(这是实现输入框回车执行on_ commi tButton_ clicked()对应槽函数
- 宏定义写法
-
-
-
-
- widget.cpp文件中
- 在里面写函数就是这样:具体讲解
- widget.cpp文件中
-
-
-
-
- 指针写法
- 例子:关闭窗口
- 指针写法
-
-
-
- lambda写法,可以进行多个信号交换,而非一个函数只能实现一个功能
- lambda[]里的参数是可以在lambda内使用的参数
- 例子:信息窗口
- lambda写法,可以进行多个信号交换,而非一个函数只能实现一个功能
-
-
P5四则计算器(只写注意点)
- 设计
- 建议不要完全按照视频的尺寸设计,实现效果不一样(对照自己的计算器截图亮尺寸)
- 字体/颜色/放图片等(详细的自己百度)
- 设计
-
- 设置类名
- 写好button对应类名生成函数之后,如果返回到之前未改的步骤的时候记得去xx.ui文件里面用文本编辑改下类名字(一般会警告你,删了或者改了就行
- 设置类名
-
-
- 头文件好像也不会同步改,记得删了或者改了
-
-
- 编写槽函数
- qstack 讲解
- 编写槽函数
-
-
-
- s_opt.top()---栈顶元素
- s_opt . empty()== true---判断栈顶元素为空
- s_opt.pop() ;----出栈
- s_num.push(参数);---入栈
-
- 暂未解决的点
- 只按等号程序会直接崩溃(视频提供的代码是这样
- 只精准到个位
-