Qt5.13.0 初次接触与第一个程序
Qt是什么?
Qt是一个基于C++ 跨平台的GUI应用开发框架。集成多种技术的类库。来适配多种系统。
安装和选择
网上太多,不写。
新建第一个工程
(不截图,网上太多。只对学习中必要的地方和错误的地方提供说明和解决办法)
在常规的新建项目的时候:
1、选择一个又Qt界面设计的项目框架即可
2、在选择编译器的时候,我是全部都选,不在这个地方花时间;
3、命名和路径指定,这个根据自己的编程习惯和文件管理习惯来;
新建完成以后,项目窗口就弹开;有可能会出现编辑界面有一堆红色的报错;(这里就是前面没有对编译器选择正确的原因);
解决办法:在左下角的 “DEBUG”按钮下选择合适的编译器;即可得到解决;
DEBUG
直接将项目点击RUN;在编译输出窗口(下方)查看运行状态;
正常编译成功之后,有图形界面弹出,不过什么也没有,这个就是一个基础的框架已经得到,然后再对其进行充实。
增加UI
如何编辑UI?
再左侧上面的窗口中,有一个工程树,Forms的折叠文件夹下,有一个ui后缀的文件,这个就是UI的设计文件;双击就可以进入图形化设计界面;
在界面跳转到界面设计窗口以后,整个界面都不一样了,那么在做之前,我们先详细了解下这个界面都有什么用?
上面有几个区域:
红色的区域:个人称为:组件(对象)设计区;
绿色的区域:个人称为:界面编辑区;
粉色的区域:个人称为:组件(对象)管理区;
青色的区域:个人称为:组件(对象)属性控制区;
下面对这几个区域分别说明:
组件(对象)设计区
layouts
翻译过来就是 布局;可以理解为对 组件(对象)布局方式进行控制;
vertical layout :垂直布局,就是将组件(对象)竖直方向上排列;
horizontal layout :水平布局,就是将组件(对象)水平方向上排列;
grid layout ::网格布局,就是将组件(对象)网格方向上排列;有点像矩阵,估计也是用法和矩阵类似;
form layout : 表格布局? 不太理解这个,暂时不管。感觉和 grid layout差别不大。
这个部分总的说来,这个区域就是对排列整齐的组件约束;个人感觉是对坐标与尺寸方面的控制;
(其实可以完全不用,手动布局也可以吧,没有想象的重要)
spacers
翻译过来就是 间隔符;视觉上将有功能区分的区域进行分割;
vertical spacers:垂直分割,就是将组件(对象)竖直方向上分割;
horizontal spacers:水平分割,就是将组件(对象)水平方向上分割;
这个运行后,没有什么差别,看不到效果。
bottoms
翻译过来就是 按键;各种按键;这里可能理解为键更准确(不一定是按);
push bottoms :就是常规的按键;有点像开关的样子,单刀双掷开关;有点bool的感觉;不过适用于触发方式的控制;
tool bottoms :这个就是一种浏览路径时候点的那种按键,相当于提供一个路径接口,相当于返回的是一个字符串;
radio bottoms:这个,不翻译了,用法就是多选一,选哪个点哪个,多个选择间互斥;
check box:这个就是勾选框;独立;单刀双掷开关;有点bool的感觉;不过适用于保持选择方式的控制;勾选或者不勾选;
Command Link Button:命令 链接 按钮:可能是跳转到指定的位置用的;没有实际应用,不太理解;
dialog bottoms box :对话框按钮;就是每次点了关软件时候,弹出来,你是关还是取消,是一个确认操作,避免误操作使用。yes or no;
item views(model-based)
list view: 翻译过来就是 项目视图 ,通过查询网上的一些网友说明,它的用法应该是显示一个条目,这些条目是自动获取,不可手动编辑。
tree view :这个就像项目工程的工程树一样;
table view:有点像excel表格的样子;
column view:这个表格是分列式,有点像impact的烧写界面下选择。后级的显示却决于前一级的选择;
undo view:这个是不是撤销操作的界面视图?(跳过)
item widgets(item-based)
项目小部件:》(该部分的功能和使用方式,不清晰,暂时跳过)
containers
翻译:容器;有点像标签页,每一个标签下有不同的内容;
(跳过,这个应该是对应多功能切换时候会用到)
input widgets
输入小部件:这个应该是交互部分,可以编辑的区域;
combo box :这个是下拉菜单组件;用于已有项的选择;
font combo box :这个就是字体选择的下拉菜单;
Line Edit :是单行文本输入,一般用于少量文本交互地方。(copy ,不知道对不对)
Text Edit:用于多行文本,也可以显示HTML格式文本。(copy ,不知道对不对)
Plain Text Edit:与Text Edit很像,但它多用于需要与文本进行处理的地方,而Text Edit多用于显示,可以说,Plain Text Edit对于plain text处理能力比Text Edit强。(copy ,不知道对不对)
spin box:这个是可以调节的;
double spin box:这个是可以调节的;比spin box精度高2位;
time edit:就是设置时间的;
date edit:就是设置日期的;
date/time edit:就是设置日期和时间的;
dial:这个是旋钮;旋转调整;
horizontal Scroll Bar:水平滚动条;
vertical Scroll Bar 竖直滚动条;
horizontal Slider:水平滑动;
vertical Slider:垂直滑动;
key Sequence Edit:按键顺序编辑;不知道这个怎么用;
display widgets
显示组件
(下次再写)