上机 Qt5.14.2 编程应用

上机 Qt5.14.2 编程应用

关于QT

Qt是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,Qt很容易扩展,并且允许真正地组件编程。

QT安装

通过Ubuntu进行安装:
打开https://mirrors.tuna.tsinghua.edu.cn/qt/archive/qt/5.14/5.14.2/
下载完成后,执行命令:

$ chmod a+x qt-opensource-linux-x64-5.14.2.run //为安装包执行可执行权限
$ ./qt-opensource-linux-x64-5.14.2.run // 运行安装包安装程序

第一次使用时会需要你注册一个账号,因为是开源软件,所以并不会收费,但需要进行认证。

在这里插入图片描述

这里我已经注册完成了,所以显示在登录。如果没有账号,先在下面输入邮箱账号,输入密码,创建一个账号。具体创建过程不再演示。
Next进入到下一个界面。

在这里插入图片描述

勾选同意。

请添加图片描述
勾选上面的组件。
等待安装完成。

在这里插入图片描述

安装完成。

示例源代码(alarm)

这里我展示了一些QT官网上闹钟的源代码:

qtquickcontrols2.conf

The following snippet shows how to set the Dark theme in the Material style:

[Controls]
Style=Material
[Material]
Theme=Dark
Accent=Red

main.qml

mainWindow, an ApplicationWindow QML type, is the root item in this app.

ApplicationWindow {
    id: window
    width: 400
    height: 500
    visible: true

The ListView alarmListView combines the data from alarmModel with the layout defined in alarmDelegate.

    ListView {
        id: alarmListView
        anchors.fill: parent
        model: AlarmModel {}
        delegate: AlarmDelegate {}
    }

New alarms can be added by clicking RoundButton addAlarmButton. Clicking it opens a Dialog screen alarmDialog.

    RoundButton {
        id: addAlarmButton
        text: "+"
        anchors.bottom: alarmListView.bottom
        anchors.bottomMargin: 8
        anchors.horizontalCenter: parent.horizontalCenter
        onClicked: alarmDialog.open()
    }

    AlarmDialog {
        id: alarmDialog
        x: Math.round((parent.width - width) / 2)
        y: Math.round((parent.height - height) / 2)
        alarmModel: alarmListView.model
    }

由于其他相关代码过多,这里只展示部分主要代码,其他更多代码详见链接

使用QT

用Qt Creator创建Qt程序

在终端中输入

$ qtcreator

第一次使用的话,会显示没有这个指令,因此输入

sudo apt install qtcreator

安装指令。等安装完成后。再输入

$ qtcreator

打开QT。

打开后的界面是这样的:

在这里插入图片描述

新建QT项目:

左上角文件 > 新建文件或项目

在这里插入图片描述

选择模板 > Application > QT Quick Application - Empty > 右下角 > Choose

在这里插入图片描述

输入项目名称:

在这里插入图片描述

接下来全部选择下一步。

在语言选项中选择Chinese。(可以不改)

在这里插入图片描述

下一步:
这里需要勾选 Select all kits
在这里插入图片描述

下一步。

在这里插入图片描述

完成。

遭遇bug

bug:
在这里插入图片描述

这里我出现了一个bug:在我第一次使用的时候,因为不熟悉使用方法,在创建了一个新项目后想去删除时,在左上的文件选项中点击了 关闭所有项目和编辑器 ,导致我的QT界面不显示示例,以及在之后的创建中配置Kit时显示 No suitable kits found 以至于无法创建新项目。经过在网络上查找后,我找到了两种解决方法:

关于解决办法的链接放在了参考文章里。

  • ——1)重新安装并配置QT
    这是最简单直接也是最麻烦的办法:
    我们需要先到安装Qt5.14.2的文件夹里。
    输入:
$ ./MaintenanceTool

在这里插入图片描述
我这里是已经卸载完了。

然后会出现这个界面:

在这里插入图片描述

下一步:
输入你的账号密码。

在这里插入图片描述

选择移除所有组件:

在这里插入图片描述

等待卸载完成。

在这里插入图片描述

然后按照最开始的方法重新下载并配置QT即可。

  • ——2)第二种方法是
  1. 打开QT Creator
  2. 选择菜单选项[工具]
  3. 选择[选项…]
  4. 选择左侧的[Kits]选项
  5. 选择[QT版本]标签
  6. 选中安装的 qtcreater版本号
  7. 点击ok

因为并没有采取这种方法,这里就不多展示,详情可以查看链接。

运行QT

完成如上配置后会显示:

在这里插入图片描述

这里你可以选择查看一下里面的各种源代码。

然后点击左下角的

在这里插入图片描述

运行。

遭遇bug2.0

bug_1:
在这里插入图片描述
点击运行后,显示出现了两个错误,经过查找资料后,得知了解决办法:

解决方法一:系统安装对应的libGL库

$ sudo apt-get install libgl1-mesa-dev

在参考文章里有另外的两种解决办法,详情可以查看参考文章。

bug_2:

QML debugging is enabled.Only use this in a safe environment

在解决了上边的问题后,我再重新运行后仍然无法正常启动,又经过查找后,给出如下解决办法(更详细解决方法请看参考文章):

  1. 在项目文件(.pro)添加DEFINES += QT_QML_DEBUG_NO_WARNING(只关闭打印输出,并不能关闭QML调试器)。
  2. 直接关闭QML调试器:
Qt4版本: CONFIG -= declarative_debug
Qt5版本: CONFIG -= qml_debug
  1. 在界面”项目”->”构建步骤”->”Enable QML debugging and profiling”复选框取消勾选;

  2. 使用左下角debug的release版本编译,因为release编译版本默认禁用QML调试器。(推荐)

运行结果

解决完上面的bug后
运行结果是这样的:

在这里插入图片描述
会出现一个空白的Hello world窗口。

丰富项目内容

打开https://doc.qt.io/archives/qt-5.14/qtdoc-tutorials-alarms-example.html,根据官方教程新增或替换 qml 和 cpp 文件 (pro和qrc不需要手动修改)。 页面下方“Files”列出了项目所有的文件,点击各个链接,查看每个文件具体内容。

源文件和其内容:

Source filePurpose
qtquickcontrols2.confSelects the Material style with the Dark theme.
main.qmlThe QML code that links AlarmDialog.qml, AlarmModel.qml, AlarmDelegate.qml and TumblerDelegate.qml.
AlarmDialog.qmlDefines the dialog for adding new alarms.
AlarmDelegate.qmlDefines the layout of the main screen of the app.
AlarmModel.qmlDefines the ListModel used for storing the alarms’ data.
TumblerDelegate.qmlDefines the graphical layout of the Tumblers.

源文件的代码此处再不展示,请自行到官网查看。

具体步骤:

右键选中qml.qrc

在这里插入图片描述

选择模板:

在这里插入图片描述

输入名称:

在这里插入图片描述

将官网最下方的文件源代码一个一个拷贝下来(主要是红色方框内的):

在这里插入图片描述

之后点左下角运行:

运行结果:

在这里插入图片描述

这样我们就能得到一个属于自己的闹钟了。

思考题:修改、运行应用程序

根据官网的说明和指示,我修改了闹钟程序的源代码使其更个性化:

这里展示部分过程:

[Controls]
Style=Material
[Material]
Theme=Dark
Accent=Red

使用该代码将使alarm变为深色模式。效果如下:

在这里插入图片描述

[Controls]
Style=Material

[Universal]
Theme=Light
Accent=Violet

[Material]
Theme=Light
Accent=Teal
Primary=Violet

使用上面的代码我就可以创建一个紫罗兰色的闹钟。

在这里插入图片描述

关于更多alarm外观设置的教程放在参考文章中。

GIT

参考文章

QT百度百科
No suitable kits found.——QT创建项目错误。解决方法_1
解决Qt creater没有示例。解决方法_2
QT下 cannot find -IGL的解决办法
解决QML debugging is enabled.Only use this in a safe environment.警告
Qt Quick控件配置文件

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值