上机 Qt5.14.2 编程应用

2023-05-16

上机 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控件配置文件

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

上机 Qt5.14.2 编程应用 的相关文章

  • flume1.8.0用户指南

    以下内容翻译自http flume apache org FlumeUserGuide html 一 引入 1 概览 Apache Flume是一个分布式 可靠的 可用的系统 xff0c 高效地从不同的源收集 聚集和移动大量的日志数据到一个
  • easyui框架combotree和combobox多选模式取值样例

    combotree html lt div class 61 34 conditions staff ue clear 34 br style 61 34 overflow visible float left line height 30
  • SVM-support vector machine

    classification Algorithms SVM nearest neighbors random forest regression Algorithms SVR ridge regression Lasso cluster A
  • cmd端口进程管理

    根据端口号查找进程 gt netstat aon findstr 8080 TCP 0 0 0 0 8080 0 0 0 0 0 LISTENING 10064 TCP 8080 0 LISTENING 10064 根据进程好查找进程 gt
  • javaweb相对路径和绝对路径

    绝对路径 xff1a 相对磁盘位置 示例 xff1a E workspace git metadata plugins org eclipse wst server core tmp2 wtpwebapps project app uplo
  • ActiveMQ 使用Ajax 收发消息实战

    原理简析 ActiveMQ 在版本发布包中包含了web sample的demo 其中就包含js与ActiveMQ交互的库文件amq js 以5 8 0版本为例 该文件目录为 apache activemq 5 8 0 webapps dem
  • HTML5中常用的标签居中方式

    span class hljs comment father width 300px height 300px background ccc display table cell vertical align middle text ali
  • windows-terminal 搭配 oh-my-posh 配置自定义终端

    目录 1 启动 powershell2 查看 powershell 版本3 升级 powershell4 修改执行策略5 powershell7 说明6 配置启动文件7 oh my posh 下载安装8 配置 oh my posh Them
  • 使用ImageMagick和Tesseract做中文文本识别

    一 用imagemagic对图片进行预处理 xff0c 以提高识别率 convert compress none depth 8 alpha off crop 112x15 43 0 43 1 monochrome 1 png 1 tif
  • C++ 多字节编码与Unicode编码

    C 43 43 多字节编码与Unicode编码 前言一 什么是字符集 xff08 Charcater Set xff09 与字符编码 xff08 Encoding xff09 xff1f 二 不同字符集的区别1 不同字符集2 优缺点 三 c
  • 实习周记2

    在组长准备给我布置小任务的时候 xff0c 公司开了一个新的项目并且缺前端 xff0c 我就被分配到新项目中去 xff0c 这个项目使用 angular 43 bootstrap前端框架 这不是一个初次开发的项目 xff0c 而是一个需要修
  • sudo apt-get install -f 超级实用Ubuntu 命令 解决安装软件依赖项

    大家在使用Ubuntu系统安装各种软件的时候 xff0c 总会碰到各种缺少依赖的问题 xff0c 今天介绍一键解决各种依赖问题 当大家安装一款软件时 例如 本人安装TeamViewer 的时候缺少多种依赖项 这时候一个一个敲肯定是费劲的 x
  • 好看的颜色代码

    Strawberry xff08 草莓色 xff09 d40045 Poppy Red xff08 婴粟红 xff09 ee0026 Golden Orenge xff08 蜜柑色 xff09 ff590b Tangerine xff08
  • 2020煤炭生产经营单位(安全生产管理人员)操作证考试及煤炭生产经营单位(安全生产管理人员)模拟考试软件

    题库来源 xff1a 安全生产模拟考试一点通公众号小程序 2020煤炭生产经营单位 xff08 安全生产管理人员 xff09 操作证考试及煤炭生产经营单位 xff08 安全生产管理人员 xff09 模拟考试软件 xff0c 包含煤炭生产经营
  • pacman软件降级

    1 直接到源下载需要的版本 2 panman U dir packege xz 3 提示是否降级安装 xff0c 选择Y
  • ubuntu用户登录界面无限循环解决方法 <不用重装桌面UI>

    先说一下为什么会遇到用户登录界面无限循环的情况 xff0c 这还要从我想远程windows连接linux说起 xff0c 安装了vnc各种依赖 xff0c 之后就卡住了 1 所以先把之前瞎装的依赖删掉 sudo apt remove vnc
  • .NET6.0 EF Core连接sql

    1 先导入四个包 Microsoft EntityFrameworkCore Microsoft EntityFrameworkCore Relational Microsoft EntityFrameworkCore SqlServer
  • Spring常用注解总结

    目录 一 前言1 xml和注解的最佳实践 xff1a 2 使用注解唯一需要注意的就是 xff0c 必须开启注解的支持 xff1a 二 Spring的常用注解1 给容器中注入组件2 注入bean的注解3 64 JsonIgnore4 初始化和
  • win10 + Ubuntu 20.04 LTS 双系统 引导界面美化

    原文地址 xff1a Win10 43 Ubuntu 20 04 LTS 双系统 引导界面美化 win10 43 Ubuntu 20 04 LTS 双系统 引导界面美化 xff08 Grub theme vimix xff09 效果展示主题
  • preparedStatement和Statement区别及联系

    1 两者之间的关系 xff1a preparedstatement和statement两者都是用来执行sql查询语句的API之一 preparedstatement接口继承了statement接口 2 两者之间的区别 xff1a state

随机推荐

  • 解决tomcat启动时8080端口被占用问题

    问题 相信很多人会遇到这种问题 xff1a 在运行tomcat的时候 xff0c 死机了 xff0c 然后重启Eclipse后再次启动Tomcat的时发现起不来了 xff0c 并且报以下错误 xff1a Several ports span
  • Ubuntu apt-get install 报错Try ‘apt --fix-broken install‘ with no packages (or specify a solution).

    64 toc 报错 更新镜像 更新镜像的时候修改配置文件 xff08 先修改配置文件的权限 xff09 GCC 安装错误 Recommends libc6 dev but it is not going to be installed or
  • Ubuntu22.04LTS 安装低版本python

    Ubuntu 22 04LTS自带的python版本为3 10 部署项目时需要用到底低个版本的 有可能会出现一系列问题 xff0c 例如SSL模块缺失 先用openssl 命令查一下版本 下载 wget https www python o
  • 重新build iso报错

    报错内容 The CD ROM drive contains a CD which cannot be used for installation xff0c Please insert a suitable CD to continue
  • 给Kylin iso中添加自定义rpm包

    前言 在日常产品交付中会有如下需求 xff1a 客户自己安装centos ubuntu kylin iso xff0c 然后我们把rpm包给到客户 我们直接将rpm包封装到iso xff0c 给客户交付整体iso xff0c 这样不管是对于
  • 适配Dell R750xs server Broadcom BCM57412 NetXtreme-E 10Gb SFP+ 网卡

    摘要 The Issue is to handle Scaler v8 2 385 baf7f3a on Dell R750xs server the 10G NIC card is Broadcom BCM57412 NetXtreme
  • Python3中的urllib.request模块

    Python 3 x版本后的urllib和urllib2 现在的Python已经出到了3 5 2 在Python 3以后的版本中 xff0c urllib2这个模块已经不单独存在 xff08 也就是说当你import urllib2时 xf
  • Python 正则re模块之findall()详解

    1 先说一下findall 函数的两种表示形式 import re kk 61 re compile r 39 d 43 39 kk findall 39 one1two2three3four4 39 1 2 3 4 注意此处findall
  • 用python实现将文件拷贝到指定目录

    基本方法 import os import shutil alllist 61 os listdir u 34 D notes python 资料 34 for i in alllist aa bb 61 i split 34 34 if
  • Ubuntu16.04忘记用户登录密码以及管理员密码,重置密码的解决方案

    1 问题现象 xff1a 由于自己想修改一下当前用户名 xff0c 结果乱改了部分配置文件导致登陆时 xff0c 原先的密码失效 2 问题原因 问题原因 xff0c 搞不懂 xff0c 只是修改了 etc shadow和 etc sudoe
  • 点赋科技:本地生活,如何开启复苏之路

    目前 xff0c 全球经历 这 场前所未有的疫情大流行 已经结束 xff0c 尽管 许多国家和地区的经济和社会都受到了影响 然而 xff0c 做好本地生活的复苏规划和推进 xff0c 将有助于在疫情之后尽快走出经济低迷期 xff0c 恢复社
  • 1130, "Host 'xxxx' is not allowed to connect to this MySQL server"

    问题描述 xff1a 1 在centos装好mysql后 xff0c 在python3程序中通过pymysql远程连接mysql xff0c 但是报 Host 39 39 not allowed connect错误 解决方法 xff1a 1
  • Pycharm配置Git教程

    1 使用场景 平时习惯在windows下开发 xff0c 但是我们又需要实时将远方仓库的代码clone到本地 xff0c 也许要将自己修改的代码push到远端服务器 xff0c 有很多方法可以实现这个需求 xff0c 但是所用的编辑软件不一
  • Ubuntu18.04安装NVIDIA驱动后,循环登录,登录界面进不去,输完密码又回到登录界面

    我安装的是Ubuntu18 04 5 xff0c 3090公版显卡 xff0c 在安装好驱动之后 xff0c 一直循环在登录界面 xff0c 输入密码之后一闪又回到登录界面 xff0c 重装了多次驱动还是不行 解决方法 xff1a 后来发现
  • 安装达梦数据库选择安装路径时提示“无写入权限”

    在使用中标麒麟的Linux系统虚拟机安装达梦数据库时 xff0c 遇到了选择安装路径时 xff0c 数据库安装程序报 无写入权限 问题 经过一番折腾后发现 xff0c 问题原因时系统的临时目录空间太小所导致的 解决方法 xff1a 1 重新
  • Docker部署MySQL单机版

    简单版 一 查看本机是否有MySQL及MySQL端口 防止端口占用 xff09 ps ef grep mysql 二 拉取MySQL镜像 docker pull mysql 5 7 三 运行MySQL镜像 docker run d p 33
  • win10无法关机解决方法

    win10无法关机怎么办 下面阐述一下处理的过程 1 左键双击控制面板 控制面板已放到桌面 xff0c 再单击电源选项 2 在打开的电源选项窗口 xff0c 左键点击 xff1a 选择电源按纽的功能 xff0c 打开系统设置 3 在系统设置
  • 小米电视访问电脑共享文件夹

    输入win 43 R打开运行窗口 输入control进入控制面板 点击 网络和internet 网络共享中心 更改高级共享设置 a 专用 网络设置如图 xff1a b 来宾或公用 网络设置如图 xff1a c 所有网络 设置如图 xff1a
  • 让Everything搜索结果更清爽

    Everything的文件搜索功能很强大 xff0c 但是默认设置下搜索出的结果过于丰富 xff0c 总是会有一些乱七八糟的后缀名文件 xff08 如下图 xff09 xff0c 或许我们并不想搜索出那些文件 这时我们需要对它设置里的排除列
  • 上机 Qt5.14.2 编程应用

    上机 Qt5 14 2 编程应用 关于QT Qt是一个1991年由Qt Company开发的跨平台C 43 43 图形用户界面应用程序开发框架 它既可以开发GUI程序 xff0c 也可用于开发非GUI程序 xff0c 比如控制台工具和服务器