Ubuntu中的Qt学习与开发


匹配学习视频 B站学习视频

一 Qt简介及Qt开发环境讲解

1 Qt简介

Qt是基于C++的,使用Qt开发的软件在多个操作系统上可以很简单的移植,Qt开发界面提供丰富的帮助文档支持,并给出实例代码,能够极大的加速开发进程,使得人们可以专注于软件的开发逻辑而不用管界面规划。
Qt的界面可以使用Ps的贴图,进行分割切块后作为背景使用,可以使得界面非常漂亮。还可以做特效,使用后台时间控件做图片切换,或者使用GIF格式动图。

2 项目创建路径

Qt Creator ——欢迎——new——Application(Qt)、Qt Widgets Application——设定名称、路径——qmake——base class 选择QWidget(选择QWidget作为基类,它是继承的最为广泛的)、其他默认——勾选Select all kits(很重要,否则文件显示不全)——其他步骤全默认——完成创建。
在这里插入图片描述

这里还要多说一下,Qr Craetor 所提供的新建项目默认基类只有QMainWindow、QWidget和QDialog这三种,这三个也是用的最多的。QMainWindow是带有菜单栏和工具栏的主窗口类,QDialog是各种对话框类,而二者全部继承自QWidget类,不仅如此,其他所有窗口部件也都继承自QWdget类。继承关系如下图所示。
继承关系图

3 一个重要的功能Debug调试功能

Debug功能可以容易的发现代码中的问题,可以在右上角界面中展示代码中各种变量的值及其变化,对于右上角没有展示出来的变量尼,也可以选中变量名称,右键单击,选择“添加表达式求值器”选项,这样就能在右下角显示出该变量,并允许对该变量进行重新赋值。调试模式允许从某行开始逐行运行代码、深入到函数内部逐行运行、跳过函数内部逐行运行等等。
在Debug模式下,左键单击行序数左侧空白处可以在此行设置断点,然后诊断运行(运行模式下方带虫子的那个)的时候,代码会在断点处停止,直到再次点击这个断点,代码才会继续运行,施加断点搭配逐步运行效果很棒。
在Debug模式下,具有变量搜索对话框,输入变量名称并锁定搜索范围能够高亮显示所搜索的变量名称,帮助我们定位所有的该变量所在位置并按顺序给出所有该变量所在代码行。
在Debug模式下,具有应用程序输出对话框,在应用程序输出对话框中输出程序的规范结果,问题则在问题

4 设计功能

只有在界面文件(.ui格式)下才会启用设计界面,在设计界面里,可以通过拖拉控件的方式很简单的塑造可视化界面,具有“所见即所得”的特性,相对于Qt Quick编程的优点是节约时间,设计过程直观又简单。缺点就是自由度相对较低。
Qt Quick编程语言类似于网页HML编程语言,能够对界面进行设计,优点是自由度高,缺点是容易出bug、代码行数很多。
无论是ui界面的设计模式还是Qt Quick的编程模式影响的都只是界面的设计模式,软件的内在逻辑部分都需要使用C++来完成。

5 项目移植

从别的地方移植来的项目代码时候一定要注意不能丢了项目文件(.pro),项目文件里记录着关于版本、项目文件数量、项目文件名称、引用的库等等一系列信息,很重要。还有就是需要把用户信息文件(.user)删除掉。

6 软件的发布

在QtCreator界面左侧栏有个显示屏的图标,点击会有几个选项:Build、Release、Debug和Profile,分别对应运行程序后所生成的四个软件版:构建版、发布版、调试版、和XX版,其中程序是一样的,主要差别是所包含信息多少的不同(数据量可能有十几倍的差别),Release版生成的一些列文件就是交付软件。所生成的文件夹和项目在同一路径下,名字后缀就是版格式
在release版下调试可能会报错,因为发布版是不能包含调试信息的。

二 示例:登录界面布局讲解

1 部件介绍

窗口部件放置后,长按鼠标左键可以拖动位置。如果知道部件名字(没有全称也可)的话,可以在部件框顶部的搜索框(FILter)检索部件。部件栏在编辑窗口的左侧
单击的按钮:Push Button
文本标签:Label
单行的字符输入:Line Edit
横向占位工具:Horizontal Spacer
竖向占位工具:Vertical Spacer

2 实现部件屏幕居中摆放

想让部件始终保持在窗口中央,且不随着缩小和放大窗口而产生尺寸变化,就是本节的内容。
首先介绍一些功能,在软件界面编辑界面的上方有一行窗口编辑工具栏:
在这里插入图片描述

有个功能是竖直放置(lay out vertically),这个功能可以让被选中的部件们水平排成一排。
还有个功能是水平放置(lay out horizontally),这个功能可以让被选中的部件们竖直排成一排
栅格排列(lay out in grid),这个功能使得被选中的部件们呈网格状排列。
还有一个取消放置功能。
使用竖直放置、水平放置和栅格排列使得部件成为一个整体,然后在部件的上下左右分别放置一个或数个占位工具,上下放竖直占位工具,左右放水品占位工具,占位工具可以产生弹性空格填充,然后将复数个的占位工具与待展示部件联结为一个整体,最后点击空白处,点击栅格排序,使之呈现如下图示:
在这里插入图片描述

此时点击运行后,无论窗口放大还是缩小,中间待显示部件始终在窗口的中心处,且大小不会随着窗口改变。

三 示例:登录界面功能介绍讲解

1 Tab的切换次序设定

窗口中,可以使用Tab切换按键和输入框(Line Edit)的选择,这个切换是有一定次序的,同样可以在窗口编辑工具栏中找到,然后按照应有的次序重新设定切换次序。
如果按键或者输入框无法通过Tab切换,则要在属性栏中查看其focusPolicy是否设定为StrongFocus。属性栏在编辑窗口的右下角

2 输入框(Line Edit)输入的

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值