Ubuntu-20.04.2 mate 上安装、配置、测试 qtcreator

一、从repo中安装

Ubuntu-20.04.2的repo中,qtcreator安装包挺全乎的,敲完 sudo apt install qtcreator 看一下同时安装和新软件包将被安装列表,压缩包252MB,解压安装后933MB,集大成的一包。

sudo apt install qtcreator
   
将会同时安装下列软件:
  binfmt-support clang-14 clang-tidy clang-tidy-14 clang-tools-14 lib32gcc-s1
  lib32stdc++6 libc6-i386 libclang-common-14-dev libclang-cpp14 libclang1-14
  libkf5syntaxhighlighting-data libkf5syntaxhighlighting5 libllvm14
  libncurses-dev libobjc-11-dev libobjc4 libpfm4 libqt5designercomponents5
  libqt5quicktest5 libqt5serialport5 libqt5sql5-sqlite libqt5xmlpatterns5
  libtinfo-dev libxml2-dev libyaml-cpp0.7 libz3-4 libz3-dev llvm-14
  llvm-14-dev llvm-14-linker-tools llvm-14-runtime llvm-14-tools qdoc-qt5
  qhelpgenerator-qt5 qmlscene qt3d5-doc qt5-assistant qt5-doc
  qt5-qmltooling-plugins qtattributionsscanner-qt5 qtbase5-dev-tools
  qtbase5-doc qtcharts5-doc qtchooser qtconnectivity5-doc qtcreator-data
  qtcreator-doc qtdatavisualization5-doc qtdeclarative5-dev-tools
  qtdeclarative5-doc qtgamepad5-doc qtgraphicaleffects5-doc qtlocation5-doc
  qtmultimedia5-doc qtnetworkauth5-doc qtquickcontrols2-5-doc
  qtquickcontrols5-doc qtscript5-doc qtscxml5-doc qtsensors5-doc
  qtserialbus5-doc qtserialport5-doc qtsvg5-doc qttools5-dev-tools
  qttools5-doc qtvirtualkeyboard5-doc qtwayland5-doc qtwebchannel5-doc
  qtwebengine5-doc qtwebsockets5-doc qtwebview5-doc qtx11extras5-doc
  qtxmlpatterns5-dev-tools qtxmlpatterns5-doc
建议安装:
  clang-14-doc ncurses-doc llvm-14-doc qtbase5-dev clazy subversion valgrind
  python3-pylsp
下列【新】软件包将被安装:
  binfmt-support clang-14 clang-tidy clang-tidy-14 clang-tools-14 lib32gcc-s1
  lib32stdc++6 libc6-i386 libclang-common-14-dev libclang-cpp14 libclang1-14
  libkf5syntaxhighlighting-data libkf5syntaxhighlighting5 libllvm14
  libncurses-dev libobjc-11-dev libobjc4 libpfm4 libqt5designercomponents5
  libqt5quicktest5 libqt5serialport5 libqt5sql5-sqlite libqt5xmlpatterns5
  libtinfo-dev libxml2-dev libyaml-cpp0.7 libz3-4 libz3-dev llvm-14
  llvm-14-dev llvm-14-linker-tools llvm-14-runtime llvm-14-tools qdoc-qt5
  qhelpgenerator-qt5 qmlscene qt3d5-doc qt5-assistant qt5-doc
  qt5-qmltooling-plugins qtattributionsscanner-qt5 qtbase5-dev-tools
  qtbase5-doc qtcharts5-doc qtchooser qtconnectivity5-doc qtcreator
  qtcreator-data qtcreator-doc qtdatavisualization5-doc
  qtdeclarative5-dev-tools qtdeclarative5-doc qtgamepad5-doc
  qtgraphicaleffects5-doc qtlocation5-doc qtmultimedia5-doc qtnetworkauth5-doc
  qtquickcontrols2-5-doc qtquickcontrols5-doc qtscript5-doc qtscxml5-doc
  qtsensors5-doc qtserialbus5-doc qtserialport5-doc qtsvg5-doc
  qttools5-dev-tools qttools5-doc qtvirtualkeyboard5-doc qtwayland5-doc
  qtwebchannel5-doc qtwebengine5-doc qtwebsockets5-doc qtwebview5-doc
  qtx11extras5-doc qtxmlpatterns5-dev-tools qtxmlpatterns5-doc
升级了 0 个软件包,新安装了 76 个软件包,要卸载 0 个软件包,有 8 个软件包未被升级。
需要下载 252 MB 的归档。
解压缩后会消耗 933 MB 的额外空间。
您希望继续执行吗? [Y/n] 

二、安装完成后

菜单的编程中增加四项,Qt5 设计器既可单独使用、生成C/C++代或python代码,也是Qt Creator集成在一起的界面设计器。

三、运行Qt Creator

从文件菜单中建新文件或项目,选如图的应用程序,点击Choose,然后起项目名称,并浏览选择创建路径,那里是项目存放的地方。

接着点击下一步,选择默认的qmake作为 build system,然后,下一步。

下面的配置信息不用改,默认即可。点击下一步。

接下来,不需要多文种配置,直接点下一步即可。

接下的一步比较重要。因为qt creator 可编译桌面项目、安桌项目等,要配置不同的工具链。初始安装后这里是空的,先配置一个桌面开发设置,点options

给配置起个名字,比如 mydeskconf, 然后下拉右边的滚动条,配置其它项。

接下来配置编译器和Qt version, 初始安装后这些地方是空的、没配置项。

由于 build-essential 系统预置好的,点上图右侧的 spin button 即可找到下面的编译器自动填充。

接下来配置 Qt version ,点击它右边的 Manage

弹出的窗口中,点击添加,然后选qmake,然后点页面下部的 “打开”

点击后提示错误,不能打开qmake, 提示/usr/lib/qt5/bin/qmake不是可执行文件,/usr/bin的qmake也同样不能选。问题在于虽然 qtcreator 的包集大成了,但没有将 qtbase5-dev 包进去。因此,在这个卡点位置,在终端上执行 sudo apt install qtbase5-dev ,安装好后,再点上面的“添加”按钮。版本信息就自动带出来了,只需点击确定即可。

注意看左边的栏,刚才 Translation 默认不多文种翻译后,到了kits 套件选择就有了 mydeskconf 这项刚刚做好的配置,以后开发桌面程序均可使用此配置,如此,可以创建android等其它配置。

下一步,默认,点击完成。

如下程序框加就自动生成了。main主程序显示mainwindow窗口,mainwindow窗口负责自己的组件管理,mainwindow.ui是界面、双击它就会出界面图形。WINDOWS建结构、注册窗口、显示窗口、主程序循环等等罗嗦环节,到了qt 这里全部精简,几行程序全都搞定了。

双击mainwindow.ui, 窗口设计器就出来了

“在这里输入”是做菜单的,就不做了,从左边按住左键拖过来 pushButton、lineEdit、和 pushButton_2,三个组件,编号是它自动加上的。

设计:按pushButton时,lineEdit1显示Hello World!  ;  按pushButton_2时,终止程序。

选中pushButton, 在右边的pushButton上右键,在右键菜单上“转到槽”

接着选“信号”,或叫even也行,就选clicked(),然后就确定。这和VS上开发时双击button差不多一个意思了,下面的 pushButton_2也同样处理。

上面的工作完成后,自动在mainwindow.cpp中创建函数框架,或叫槽。

ui的lineEdit写上Hello World! , 按pushButton_2时销毁主窗口、程序退出。接下来,在菜单“构建”中选构建,然后再选运行、或直接 ctrl+r 运行。

按pushButton和pushButton_2,符合预期设计。至此,qtcreator安装完毕,经过工具链配置,再简单编程,对安装完成了有效验证。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/259541.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JDK各个版本特性讲解-JDK11特性

JDK各个版本特性讲解-JDK11特性 一、JAVA11 概述二、语法层次的变化1. 局部变量类型推断升级 三、API层次的提升1. String新增的方法2. Optional新增方法3.HTTPClient 四、其他变化1. 更简化的编译运行2.ZGC3.其他了解 一、JAVA11 概述 2018年9月26日,Oracle官方发布JAVA11.这是…

【开源软件】最好的开源软件-2023-第三名 Docker

自我介绍 做一个简单介绍,酒架年近48 ,有20多年IT工作经历,目前在一家500强做企业架构.因为工作需要,另外也因为兴趣涉猎比较广,为了自己学习建立了三个博客,分别是【全球IT瞭望】,【…

算法基础之约数之和

约数之和 核心思想&#xff1a; #include<iostream>#include<algorithm>#include<vector>#include<unordered_map>using namespace std;typedef long long LL;const int N 110 , mod 1e97;int main(){int n;cin>>n;unordered_map<int,int&…

支持向量机 支持向量机概述

支持向量机概述 支持向量机 Support Vector MachineSVM ) 是一类按监督学习 ( supervisedlearning)方式对数据进行二元分类的广义线性分类器 (generalized linear classifier) &#xff0c;其决策边界是对学习样本求解的最大边距超亚面 (maximum-margin hyperplane)与逻辑回归和…

Mybatis-Plus讲义v1.0

Mybatis-Plus 课程目标 了解Mybatis-Plus 整合Mybatis-Plus 通用CRUD Mybatis-Plus的配置 条件构造器 Mybatis-Plus 的Service封装 代码生成器 1 Mybatis-Plus介绍 1.1 Mybatis-Plus介绍 MyBatis-Plus&#xff08;简称 MP&#xff09;是一个 MyBatis 的增强工具&…

关于B+树的总结

B树(B-tree) B树属于多叉树又名平衡多路查找树&#xff08;查找路径不只两个&#xff09;&#xff0c;数据库索引技术里大量使用着B树和B树的数据结构 规则&#xff1a; &#xff08;1&#xff09;排序方式&#xff1a;所有节点关键字是按递增次序排列&#xff0c;并遵循左小…

MybatisPlus报错:BindingException: Invalid bound statement (not found): 的解决办法

当我们遇到这个报错的时候&#xff0c;通常意味着mapper的绑定出现了问题 我们需要检查相关的配置文件是否正确 本人使用MyBatisPlus时遇到了这个问题&#xff0c; BindingException: Invalid bound statement (not found): 通过检查映射发现没有问题 再检查namescape发现…

网络基础介绍

1.网线制作 1.1 网线制作需要的工具 网线 网线钳 水晶头 测试仪 ​编辑 1.2 网线的标准 1.3 网线的做法 2.集线器&交换机&路由器的介绍 3.OSI七层模型 4.路由器的设置 4.1 常见的路由器设置地址 4.2 常见的路由器账号密码 4.3 登录路由器 设置访客网…

算法02哈希法

算法01之哈希法 1.哈希法理论基础1.1哈希表&#xff08;1&#xff09;哈希表&#xff08;2&#xff09;哈希函数&#xff08;3&#xff09;哈希碰撞 1.2哈希法基本思想1.3哈希法适用场景与最常用的哈希结构 2.LeetCode242&#xff1a;有效的字母异位词&#xff08;1&#xff09…

Linux:终端定时自动注销

这样防止了&#xff0c;当我们临时离开电脑这个空隙&#xff0c;被坏蛋给趁虚而入 定几十秒或者分钟&#xff0c;如果这个时间段没有输入东西那么就会自动退出 全局生效 这个系统中的所有用户生效 vim /etc/profile在末尾加入TMOUT10 TMOUT10 这个就是10 秒&#xff0c;按…

【QT】Model/View结构

目录 1 概述 2 Mode/View基本原理 3 数据模型 4 视图组件 5 代理 6 Model/View结构的一些概念 6.1 Model/View的基本结构 6.2 模型索引 6.3 行号和列号 6.4 父项 6.5 项的角色 1 概述 Model/View&#xff08;模型/视图&#xff09;结构是Qt中用界面组件显示与编辑数据的一种结构…

在scrapy 使用selenium模拟登录获取cookie

前言 最近有一点点爬虫需求&#xff0c;想总结一下scrapy框架的一些基本使用方法&#xff0c;加深印象&#xff0c;自己一直习惯使用一些脚本文件运行爬虫&#xff0c;面对数据量非常大&#xff0c;稳定性要求比较高的&#xff0c;效率需求比较高的情况下还是用scrapy较为合适…

vue-springboot二手家电家用电器商城交易管理系统java毕业设计

本二手家电管理平台是为了提高用户查阅信息的效率和管理人员管理信息的工作效率&#xff0c;可以快速存储大量数据&#xff0c;还有信息检索功能&#xff0c;这大大的满足了用户和管理员这两者的需求。操作简单易懂&#xff0c;合理分析各个模块的功能&#xff0c;尽可能优化界…

final的详解

在Java中&#xff0c;final 关键字用于表示不可改变的实体&#xff0c;可以应用于变量、方法、类和指令重排序。它有不同的作用&#xff0c;具体取决于它被应用的上下文。 1.对于变量&#xff1a; 如果一个变量被声明为 final&#xff0c;则该变量的值在一旦被赋予后就不能再被…

C++共享和保护——(5)编译预处理命令

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd; 耕耘者的汗水是哺育种子成长的乳汁&am…

制造企业可以通过哪些措施改善设备OEE

设备综合效率OEE&#xff08;Overall Equipment Effectiveness&#xff09;是制造企业衡量设备效率的关键指标之一。高效的设备运行对于提高生产效率、降低成本和实现竞争优势至关重要。然而&#xff0c;实现高水平的设备OEE并不是一项简单的任务。本文将介绍一些制造企业可以采…

基于博弈树的开源五子棋AI教程[1 位棋盘]

0 引子 常见的五子棋棋盘大小为15x15&#xff0c;最直观的表示就是一个二维数据。本文为了易于拓展一开始使用的是QVector<QVector>的数据&#xff0c;但是在分支因子为10的情况下只能搜索到4层左右&#xff0c;后面深度加深&#xff0c;搜索时间呈指数倍数增长。这种实…

【LeetCode刷题】--245.最短单词距离III

245.最短单词距离III class Solution {public int shortestWordDistance(String[] wordsDict, String word1, String word2) {int len wordsDict.length;int ans len;if(word1.equals(word2)){int prev -1;for(int i 0;i<len;i){String word wordsDict[i];if(word.equa…

算法基础之约数个数

约数个数 核心思想&#xff1a; 用哈希表存每个质因数的指数 然后套公式 #include <iostream>#include <algorithm>#include <unordered_map>#include <vector>using namespace std;const int N 110 , mod 1e9 7;typedef long long LL; //long l…

互式流程图|BPMN JointJS+ JavaScript 3.7.3 Crack

JointJS 是 JavaScript 图表库为卓越的 UI 提供支持 使用经过验证的库快速、自信地构建高级视觉和无代码/低代码应用程序。 赋能全球行业领导者 使用 JointJS 构建的图表 一个库&#xff0c;‍无限 UI 选项 直接在您的应用程序中享受交互式流程图、BPMN 和其他图表工作室。利用…