QT
ipfpm
这个作者很懒,什么都没留下…
展开
-
【QT】module QtCharts is not installed
背景:在arm上已经通过命令行安装了对应的qtchart,但是运行程序还是报错:module QtCharts is not installed 。安装命令如下:sudo apt-get install libqt5chart5 libqt5chart5-dev解决方法:下载qtchart对应版本的源码,编译,生成的build中将qml中的QtCharts,放在/usr/lib/aarch64xxx/qt5/qml中即可...原创 2022-01-06 10:10:22 · 2059 阅读 · 0 评论 -
【QT】QML Image: Cannot open: qrc:///XXXX.png
背景:本地编译了qt程序没有问题,在部分环境上部署也没问题,但是到了arm板子上的ubuntu20环境后报错,加载不出来图片解决方法:自己的代码中把图片的资源文件.qrc,没有跟main.qml放在一块,放在了main.qml的下一级目录下。如下:main.qmlicons-icons.qrcqml.qrc,将icons.qrc提出放在main.qml的同级目录下后就解决了。main.qmliconsicons.qrcqml.qrc备注:属于代码问题,当前原创 2022-01-06 09:51:57 · 2378 阅读 · 0 评论 -
【QT学习】QT中加载Rviz显示(一)
Rviz的常用函数1. 背景2. Rviz界面3. 常见函数3.1 头文件3.2 Rviz初始化3.3 Rviz参数设置3.3 Rviz地图展示1. 背景在Qt中加载Rviz的时候,经常会用到Rviz的一些函数,下面介绍Rviz的函数以及对应的Rviz左侧界面的参数2. Rviz界面上面的rviz图形工具显示有三部分:中间显示容器 Rviz初始化、左侧图层参数设置栏 Rviz参数设置、右侧的视角栏 Rviz地图展示3. 常见函数3.1 头文件在调用Rviz的相关函数的时候,需要先引用相关头文原创 2020-12-09 15:43:08 · 8948 阅读 · 5 评论 -
【QT学习】QT中加载Rviz显示(二)
背景:想要在QT工程中加载Rviz组件,显示点云等相关,但是目前查了很多资料,都没有找到QT的proj工程加载Rviz,都是基于ROS框架加上Rviz包的,因此本文就简要的介绍QT工程加载Rviz。实现:当前是基于QWidget的框架加载,因为网上说Rviz组件的中有实际上widget组件的容器可以直接显示。后续再研究下qml怎么加载显示。(1)创建一个QWidget的工程(2)在pro工程文件中增加ros库跟头文件#rosINCLUDEPATH += /opt/ros/kineti原创 2020-12-07 13:58:31 · 5498 阅读 · 10 评论 -
【QT学习】QT单元测试
转载自:https://blog.51cto.com/9291927/2114179Qt高级——QTestLib单元测试框架一、QTestLib简介1、QTestLib简介QTestLib是Qt提供的一种针对基于Qt编写的程序或库的单元测试框架。QTestLib提供了单元测试框架的基本功能,并提供了针对GUI测试的扩展功能。2、QTestLib特性QTestLib是为了简化QT程序或库的单元测试工作而设计的。QTestLib特性如下:A、轻量级:QTestlib只包含600.转载 2020-11-20 16:37:31 · 3804 阅读 · 0 评论 -
【QT的学习】在QT中如何使用MQTT
背景:在ubuntu16.04(linux)中,要在qt程序中使用MQTT连接IOT,因此qt程序要加载MQTT。本方法采用的MQTT是QT官方自带的qtmqtt,只不过目前没有放在QT库的安装包中,需要自行下载源码编译一:在qt中加载MQTT方法:(1)下载qtmqtt:https://github.com/qt/qtmqttgit clone https://github.com/qt/qtmqtt.git(2)因为qtmqtt也有很多的分支对应不同的qt版本,因此选了qt5.12.5原创 2020-10-15 11:36:35 · 7597 阅读 · 4 评论 -
【QT的学习】记录QT在pro文件中配置
1.生成core文件(1)在pro文件中添加QMAKE_CC += -gQMAKE_CXX += -gQMAKE_LINK += -g(2)在终端输入ulimit -c如果显示的是0,则执行ulimit -c unlimited2.将lib只想当前目录下的lib,而不是qt的安装库在pro文件中添加QMAKE_RPATHDIR=$ORIGINQMAKE_LFLAGS += "-Wl,-rpath,\'\$$ORIGIN/lib\'"3...原创 2020-09-01 10:48:55 · 746 阅读 · 0 评论 -
【QT的学习】使用ChartView的问题
在qml中使用ChartView时,MouseArea出现覆盖未找到解决方案.ChartView { width: parent.width height: parent.height antialiasing:true backgroundColor:"black" /*图例*/ legend.visible: false /********X-time********/原创 2020-08-26 20:56:03 · 609 阅读 · 0 评论 -
【QT学习】QFileDialog的使用
网上有很多介绍QFileDialog的使用的,这里不多介绍。QFileDialog有两种方式:(1)一种是全局静态函数调用,详细见帮助文档fileName = QFileDialog::getOpenFileName(this, tr("Open Image"), "/home/jana", tr("Image Files (*.png *.jpg *.bmp)"));(2)一种是定义对象。剩余的也详细见帮助文档QFileDialog dialog(this);//thi原创 2020-08-26 15:01:59 · 2892 阅读 · 0 评论 -
【Qt学习】qml如何自定义Combobox
import QtQuick 2.7import QtQuick.Controls 2.5ComboBox { id:control property var fillColor: Qt.rgba(84/254, 144/254, 214/254,0.3) property var borderColor: Qt.rgba(80/254, 135/254, 200/254,0.8) property var selectFillColor: "#68c169"//Qt.原创 2020-06-12 14:54:03 · 1278 阅读 · 0 评论 -
【QT学习】QNetworkAccessManager的使用,发送http请求。
背景:需要使用QNetworkAccessManager周期性以及多次发送异步http请求。但是发现程序过了很长时间后就会崩溃,终端报错:GLib-ERROR **: Creating pipes for GWakeup: Too many open files ...后来发现原因是每一个周期都会对QNetworkAccessManager进行new操作导致,内存一直没有消失,QNetw...原创 2020-04-07 12:46:48 · 2838 阅读 · 0 评论 -
【QT学习】qml中地图Map去掉mapbox标签
(1)背景:在使用qml加载mapboxgl插件来显示地图的时候,会出现左下角的地图标签,如何去掉在Map中有一个要素:copyrightsVisible代表版权,置成false即可。Map { id:map anchors.fill: parent color: "black" copyrightsVisible:false plugin: ...原创 2020-03-24 15:15:07 · 1071 阅读 · 1 评论 -
【QT】QT的学习:char×跟QString、string之间的转换
(1)QString转成char*或者char数组。QString data;QByteArray tempData = data.toLocal8Bit();char *value = (char*)tempData.data();/*先将QString转为标准库中的string类型*/QString data;QByteArray tempData = data.toLoc...原创 2018-10-09 12:40:03 · 700 阅读 · 0 评论 -
【QT学习】如何将一个QT的pro工程(qmake编译)移植变成一个cmake编译的工程
1.背景之前使用qt自带的编译方式(qmake的方式)编写运行qt程序,但是最近要跟ros框架的其他程序进行通讯要使用ros topic订阅发布,必须用msg,有些msg不能简单的使用std标准消息需要自己定义,但是qmake的方式不支持只能用ros自己的方式,因此想要将自己的程序变成ros放在Ros的框架中,使用cmake的编译方式2.工程说明1.QT程序中使用了widget类跟...原创 2019-05-07 22:45:12 · 7065 阅读 · 0 评论 -
【QT学习】如何在QT中使用ros的.msg后缀文件
背景:使用了qt创建了pro工程,如果想要QT的程序跟ros框架的中其他程序进行通信(使用ros订阅发布)可见:https://blog.csdn.net/ipfpm/article/details/83504491但是通信的消息只能使用std标准的消息(例如std_msgs::String),如何才能使用自定义的ros的.msg跟ros框架的模块通信呢?方法:在别人定义好.msg...原创 2019-06-10 19:23:29 · 855 阅读 · 1 评论 -
【QT的学习】一个客户端如何向服务器请求
背景:使用QT开发的一个应用程序要向服务器发送请求数据(例如登录,同步数据),可以有两种方法发送请求:(1)使用widget类语言,发送http请求:(登录为例)QNetworkAccessManager ×loginManager;loginManager = new QNetworkAccessManager(this);connect(loginManager, SIGNAL(...转载 2019-06-11 13:00:13 · 1237 阅读 · 0 评论 -
【QT学习】QT中使用虚拟键盘
背景:QT5.10,Ubuntu16,主程序为widget。要求:程序中需要调用打开软键盘。方法:(1)使用QT自带的软键盘插件。 (2)自己开发一个软键盘插件,然后让程序调用该插件。(方法一)使用QT自带的软键盘(1)qt的官方帮助文档:https://doc.qt.io/qt-5/qtvirtualkeyboard-deployment-guide.ht...转载 2019-06-25 10:34:13 · 35266 阅读 · 10 评论 -
【QT】QT的学习:qt中使用mapbox添加自定义样式(例如讲一个图片作为一个图层)
环境:QT5.10背景:不适用mapbox在线的样式,而是自定义瓦片或者样式(1)一般情况下,我们使用qt加载mapbox的时候,会发现我们会自动的调用mapbox在线的样式例如:卫星、道路、dark。举例1: Map{ anchors.fill: parent Plugin { id: mapPlugin name: "mapbo...原创 2019-07-01 20:13:21 · 2423 阅读 · 0 评论 -
【QT学习】qt打包发布遇到:"libmysqlclient.so.18 => not found"
背景:Ubuntu16+QT5.10问题描述:Qt程序中使用了数据库,使用qtcreator进行编译运行都没有问题,但是在使用linuxdeploy进行打包的时候报错:但是通过查找发现自己的环境中有libmysqlclient.so.20通过软连接等方法都不管用,因此就下载一个libmysqlclient.so.18:(1)下载链接:https://launchpad.n...转载 2019-07-29 16:15:49 · 2118 阅读 · 1 评论 -
【QT学习】如何使用qt自带的性能分析工具qml profile分析qml的性能
背景:自己的代码是c++跟qml混编的,占了CPU很大,因此想通过性能工具测试自己哪一个部分耗用的比较多,使用qt自带的性能分析工具来分析qml。自己的qt版本是qt 10(qml profile只有在qt的版本超过一定的版本之后才可以免费)1.打开自己的工程pro2.选择debug模式3.在debug setting中设置中,将c++以及qml选中4.点击analyze中...转载 2019-03-26 10:52:06 · 7433 阅读 · 0 评论 -
【QT学习】QT中新建一个3D的qml例子,关闭程序的时候报crash
现象:按照qt中模板新建一个3D的项目,关闭窗口的时候报错:Starting /home/ubuntu/QtProj/test/test3d/build-test_3d-Desktop_Qt_5_10_1_GCC_64bit-Debug/test_3d...QML debugging is enabled. Only use this in a safe environment.qml:...原创 2019-03-13 11:18:55 · 866 阅读 · 0 评论 -
【QT】QT的学习:Qml中slider
import QtQuick 2.9import QtQuick.Window 2.2import QtQuick.Controls 1.4import QtQuick.Controls.Styles 1.4Window { visible: true width: 320 height: 240 title: qsTr("Hello World")...转载 2018-12-13 22:08:21 · 1096 阅读 · 0 评论 -
【QT】QT的学习:在qml的地图中如何让某一个图标随着鼠标拖动,并且中心点也会随之改变
(1)如果使用如下方式: MapQuickItem { id :item2 z:1 coordinate: QtPositioning.coordinate(52.5175, 13.384) sourceItem: Grid{Image { id: item2name ...原创 2018-11-06 10:51:20 · 1237 阅读 · 0 评论 -
【QT】QT的学习:qml中MapParameter的使用
系统:Ubuntu环境:qt地图插件:mapboxgl(1)在地图上增加图层,(地图上画点\线\面等跟js接口一致)官网上例子:Map { plugin: Plugin { name: "mapboxgl" } center: QtPositioning.coordinate(60.170448, 24.942046) // Helsinki ...原创 2018-10-29 20:18:25 · 910 阅读 · 0 评论 -
【QT】QT的学习:在QT中如何调用ROS库
背景:目前正在使用QT creator 开发界面等,因为需要用到ROS的订阅发布机制,订阅别的ROS模块的topic,但是本人的工程是qt的工程(.pro),使用的是qmake编译,是一个单独的应用程序,只能通过调用ros的库的形式调用ros函数。自己没有找到其他的方法把已经写好的大量代码直接加入到别的模块的ros工程中。步骤:(1)安装配置好QT: https://blog.csdn...转载 2018-10-29 14:41:40 · 5525 阅读 · 7 评论 -
【QT】QT的学习:在qml的地图中如何获取两个坐标点之间的距离或者通过一个点以及距离得到另一个点
在qml的Map中有两种方法:(方法一)使用QGeoCoordinate的函数获取:(1)A跟B之间的方向角A.coordinate.azimuthTo(B)(2)跟A以及A、B之间的距离方位角得到BA.coordinate.atDistanceAndAzimuth(distance,bearing)(3)A、B之间的距离A.coordinate.distance...原创 2018-10-17 09:59:10 · 2783 阅读 · 0 评论 -
【QT】QT的学习:如何在QTcreator中使用printf并且在qt的应用输出界面中显示输出内容。
在某文件中:#include <stdio.h>printf("send coo printf %s\n", ip);fflush(stdout);就能显示。原创 2018-10-09 11:29:19 · 12007 阅读 · 1 评论 -
【QT】QT的学习:qml中Mapboxgl中相关参数的介绍
(1)添加额外样式的时候:PluginParameter { name: "mapboxgl.mapping.additional_style_urls" value: "mapbox://styles/mapbox/dark-v9,mapbox://styles/mapbox/satellite-v9" }不能分开写,第二...原创 2018-10-15 15:43:48 · 1110 阅读 · 0 评论 -
【QT】QT的学习:在QML中使用AJAX向某服务器发送请求获取数据
转载自:https://blog.csdn.net/keysking/article/details/79920597(1)准备Ajax.js// GETfunction get(url, success, failure){ var xhr = new XMLHttpRequest; xhr.open("GET", url); xhr.onreadystat...转载 2018-10-18 13:06:28 · 1214 阅读 · 0 评论 -
【QT】QT的学习:在qml的地图中如何让某一个图标旋转
在地图中,如何让marker旋转,例如:地图中车辆的朝向的变化意味着图标要进行旋转。import QtQuick 2.4import QtQuick.Window 2.2import QtPositioning 5.5import QtQuick.Controls 1.4import QtLocation 5.9import QtPositioning 5.5Window {...原创 2018-10-18 11:39:05 · 1030 阅读 · 2 评论 -
【QT】linux中使用qmake命令行编译release版本或者debug版本
(1)如果存在pro文件,进行第二步。如果不存在pro文件执行下面命令生成pro文件。qmake -project(2)生成makefile(2.1)修改pro文件,将其中的TARGET = 程序名字改成 CONFIG+=debug_and_releaseCONFIG(debug, debug|release){ TARGET = 程序名字} else {...转载 2019-02-19 09:19:57 · 12422 阅读 · 0 评论 -
【ubuntu】如何使用qt creator打开一个已有的ros工程
背景:qt creator(qt 5.10.1) + 使用命令行已经创建编译好的ros工程(1)已经存在一个ros工程(2)ros工程编译catkin_makesource devel/setup.bash(3)打开qt creator(4)点击“工程”-》“打开文件或者项目”,选择工程文件下的"src"文件下cmakelists.txt文件打开(5)出...转载 2019-03-15 14:08:34 · 7795 阅读 · 0 评论 -
【QT学习】自定义结构体跟QVariant之间的转换
说明:之所以自定义的结构体跟QVariant之间进行转换主要是因为qt中变量的传递以及使用主要是以QVariant来进行的,统购转换可以实现变量传递,传递完成后再转成结构体,适用于qtwidget。(1)结构体跟QVariant之间的转换struct tytemp{ unsigned int target; unsigned int current;};Q_DE...转载 2019-03-20 21:22:54 · 10929 阅读 · 0 评论 -
【QT学习】结构体在qt的传递
(1)自定义结构体使用信号槽在qwidget中传递:typedef struct tagPoint{ tPos tIn; QHash<unsigned char, tPos> tad; unsigned char flag;}tPoint;Q_DECLARE_METATYPE(tPos)Q_DECLARE_METATYPE(tPoint)在...转载 2019-03-20 21:25:57 · 7893 阅读 · 0 评论 -
【QT学习】qml中实现文字的逐个显示
效果:文字能逐个显示,然后全部消失,然后再逐个显示。import QtQuick 2.9import QtGraphicalEffects 1.0Rectangle{ property var textVar: ["等","待","确","认"," ."," ."," ."] property var textIndex: 0 c原创 2019-03-12 09:57:58 · 1161 阅读 · 0 评论 -
【QT学习】qml中如何使字体居中
如果让字体居中有两种方法:(1)创建一个rectangle,让text在rectangle中居中。Window { width: 400 height: 400 title: qsTr("Hello World") visible: true Rectangle{ anchors.centerIn: parent w...原创 2019-03-20 14:17:43 · 13105 阅读 · 0 评论 -
【QT学习】qml中使用颜色设置背景,并且做到背景有透明度但是文字没有影响
(1)在qml中使用color设置对象的颜色:主要有十六进制以及qt.rgba()的方法 例如设置rectangle的背景颜色Window { width: 640 height: 480 title: qsTr("Hello World") color: "#4d4ca7"}如果使用qt.rgba()方法是:将十六进制转成rgb(网上有在线转换...原创 2019-03-20 10:49:15 · 12227 阅读 · 1 评论 -
【QT学习】qml实现文字字幕的滚屏
import QtQuick 2.5Rectangle { id:scrollRect width: 300; height: 40 radius: 5 color: "transparent" clip:true Text { id:scrollText height:parent.height ...转载 2019-03-11 14:15:27 · 2168 阅读 · 0 评论 -
【QT学习】qml中实现转圈等待加载
import QtQuick 2.9Rectangle{ color: "transparent" width: 100 height: 100 BusyIndicator{ anchors.centerIn: parent implicitWidth: 96 implicitHeight: 96 }}...转载 2019-03-11 14:13:31 · 2501 阅读 · 0 评论 -
【ubuntu】如何使用qt creator创建一个ros ui界面
背景:qt creator(版本5.10.1) + ubuntu 16步骤:(1)安装qt 5.10.1:https://blog.csdn.net/ipfpm/article/details/80698659(2)配置qt creator 设置快捷方式:这一步将要修改Qt Creator快捷方式,使从快捷方式启动Qt Creator的同时加载ROS环境变量。这条命令将打开...转载 2019-03-15 14:42:58 · 3720 阅读 · 0 评论