
Qt 嵌入式开发
文章平均质量分 52
与子同袍,岂曰无衣。
HiroGuo
有些事现在不做 一辈子都不会做了
展开
-
Qt开发 —QImage 的裁剪 和透明化处理
Qimage 裁剪 透明化处理原创 2023-03-09 15:30:52 · 1080 阅读 · 2 评论 -
Qt开发 — mqtt module 编译
Qt开发 — mqtt module 编译MQTT的使用介绍MQTT 的使用介绍 MQTT。mqtt 在 QT中的使用: mqtt在qt中的应用构建MQTT Qt模块查看是否安装啦 MQTT模块qmake -query QT_INSTALL_LIBS进入到显示的 文件路径,查看是否存在 Qt5Mqtt 如果没有必须先构建并安装。下载qtmqtt源码地址Clonegit://code.qt.io/qt/qtmqtt.githttp://code.qt.io/qt/qtmqtt.git原创 2021-11-04 17:21:59 · 6363 阅读 · 0 评论 -
浮点数与十六进制转换
浮点数与十六进制转换浮点转十六进制十六进制转浮点浮点转十六进制QString strFloat = ui.float_six1->text();float f = strFloat.toFloat();int i = *((int *)&f);QString float_str = QString("%1").arg(i, 4, 16, QLatin1Char('0'));ui.float_six2->setText(float_str );十六进制转浮点QStrin原创 2021-10-27 14:31:43 · 1882 阅读 · 0 评论 -
Qt开发 —获取程序编译时间
Qt开发 —获取程序编译时间在程序开发过程中,有时我们需要获取程序的编译时间,来追溯不同/相同版本不同时间编译程序的问题。代码实现如下:#include <QDebug>#include <QDate>#include <QTime>const void getBuildTime(){ static const QDate buildDate = QLocale( QLocale::English ).toDate( QString(__DATE原创 2021-08-13 15:26:25 · 1744 阅读 · 0 评论 -
Qt开发 — 显示gif动画
Qt开发 — 显示gif动画Qt 中,静态图片 PNG,JPG 等可以用其创建 QPixmap,调用 QLabel::setPixmap() 来显示,但是能够具有动画的 GIF 却不能这么做,要在 QLabel 上显示 GIF,需要借助 QMovie 来实现。QLabel 显示 GIF使用 GIF 图片的路径创建 QMovie 对象,并且调用 QMovie::start() 启动 GIF 动画,然后通过 QLabel::setMovie() 设置好动画对象后,就能在 QLabel 上看到 GIF 动原创 2021-08-12 10:47:45 · 11453 阅读 · 3 评论 -
Qt开发 — 在QML中使用系统托盘
Qt开发 — 在QML中使用系统托盘简介:在Qt创建App 托盘在QT5.8之后引入了 Qt Labs Platform模块。因此QT5.8之后可以分为两种中途径实现:1、SystemTrayIcon系统提供的接口,实现比较简单。但是需要引入Qt Labs Platform 会和某一些实用的空间样事儿有冲突,自行决定取舍。不做简述。2、QSystemTrayIcon在qml中使用QSystemTrayIcon的方法,也可以作为qml与c++交互的例子来看:JHSystemTray.qmlimp原创 2021-05-17 15:23:34 · 1263 阅读 · 0 评论 -
Qt开发 — 关于路径中斜杠与反斜杠转换
Qt开发 — 关于路径中斜杠与反斜杠转换/转\(斜杠转反斜杠)[static] QString QDir::toNativeSeparators(const QString &pathName)\转/(反斜杠转斜杠)[static] QString QDir::fromNativeSeparators(const QString &pathName)...原创 2021-04-27 17:02:58 · 1074 阅读 · 0 评论 -
Qt开发 — QProcess执行带管道的shell命令
Qt开发 — QProcess执行带管道的shell命令简述:在嵌入式开发过程中,很容易遇到一些需要开辟新的进程,而新的进程里面又需要强制关闭父进程的操作。不如程序中需要读写SD卡,但是有时程序中又需要格式化SD卡。这就遇到问题,需要在SD卡格式化的进程中,关闭程序以便操作SD卡,否则SD卡被占用无法完成格式化。方法一编写QT 程序,在程序内部首先kill 操作SD卡的程序,然后在进行SD卡操作。方法二:通过编写shell脚本来实现kill程序 和SD卡格式化但是如何实现,在程序内启动所编写原创 2020-11-25 16:32:48 · 3258 阅读 · 0 评论 -
桌面程序开发 — Log 重定向(输出到文件)
桌面程序开发 — Log 重定向(输出到文件)简述:在开发过程中,有时需要将开发程序的debug 信息写入文件中,以便调试查看。但是如果直接在文件中添加写文件的操作又比较繁琐,频繁的写文件也增加的程序的压力。下面提供一个方法,将已经开发完的程序的debug 信息写入文件。1、脚本启动程序通过写脚本启动程序,并且在脚本中自定义 输出debug信息文件的路径和名称startup.sh#!/bin/bashbase_dir="$(dirname "$0")"cd $base_dirif [[原创 2020-10-10 10:39:31 · 4052 阅读 · 0 评论 -
Qt开发 — 图片缩放简述
代码如下 QImage Image; Image.load("d:/test.jpg"); QPixmap pixmap = QPixmap::fromImage(Image); int with = ui->labPic->width(); int height = ui->labPic->height(); QPixmap fitpixmap = pixmap.scaled(with, height, Qt::IgnoreAspectRa原创 2020-09-11 10:31:54 · 6221 阅读 · 0 评论 -
Qt Https通信: TLS initialization failed 解决方法
Qt Https通信: TLS initialization failed 解决方法Window端使用Qt 做开发请求Https资源时,会经常遇到 TLS initialization failed,分析原因是,在Qt中并未包含 SSL所包含的库,因此需要开发者,自己将库拷贝到 构建目录。注意: 这个解决方案,也要区分Qt的版本号。QT5.12 下载Win64OpenSSL并点击安装,在所安装的目录下,拷贝 libea32.dll 和 ssleay32.dll 库到\Qt\Qt5.12.0\5.原创 2020-09-07 12:36:18 · 2734 阅读 · 0 评论 -
跨平台的Qt程序崩溃生成Dump文件Breakpad
跨平台的Qt程序崩溃生成Dump文件Breakpad简介:1、Window平台:可以使用“SetUnhandledExceptionFilter”来设置应用程序奔溃捕捉,这在崩溃的时候,这个函数指定的回掉函数就会被调用并返回崩溃详情。返回的崩溃详情为MiniDump格式。这个是windows提供的函数,因此必须包含“#include <Windows.h>”,具体的使用方法参考 W...原创 2020-04-08 14:41:49 · 5073 阅读 · 2 评论 -
Window端Qt Create dmp的生成与解析
资源下载Window端Qt Create dmp的生成与解析生成.pro 中的配置在 pro中加入以下内容,否在在 release下 无法生成pdbQMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /DEBUG#加入调试信息QMAKE_CFLAGS_RELEASE += -gQMAKE_CXXFLAGS_RELEASE += -g#禁止优化QMA...原创 2020-04-08 11:42:16 · 2023 阅读 · 2 评论 -
Qt开发 — 使用脚本自动编译Qt程序
Qt开发 — 使用脚本自动编译Qt程序Mac OS1、编译之前我们先打开Qt Create 点击重编译工程。注意观看 控制台 了解重新编译的过程根据提示可以知道重新编译经过一下过程:1、/usr/bin/make clean -j42、qmke qmake执行的内容,直接打开Qt Create ---->项目---->构建步骤---->有效的qmake调用。看到/...原创 2020-03-27 14:30:00 · 4457 阅读 · 2 评论 -
Qt开发 — QtQuick无法加载
简述在做Qt QML QML 程序开发的时候,当切换啦电脑,重新安装啦QT Create。但是在调试程序的时候,会莫名奇妙的报错QtQuick 未被安装等。如下错误:QQmlApplicationEngine failed to load componentqrc:/main.qml:1 module "QtQuick.Controls" is not installedqrc:/main...原创 2019-12-19 14:29:08 · 3285 阅读 · 1 评论 -
Qt开发 — QDebug 使用小结
关闭自动插入空格QDebug &QDebug::nospace()范例:qDebug() << "Hello" << "world!";qDebug().nospace() << "Hello" << "world!";输出:Hello world!Helloworld!关闭引号字符禁用在 QChar,QString 和...原创 2019-12-12 11:15:11 · 3792 阅读 · 0 评论 -
Qt开发 —Window 中文路径问题
在做跨平台开发过程中,你可能会遇到Mac 和 Linux平台下面都没有问题。然而在Window端 ,遇到了地址 或者字符转码问题。以下提供两个转码方案:QString ----------> std::string//Qstring to std::string //unicode -> utf8 ???std::string ConvertQString( const QS...原创 2019-12-09 11:40:42 · 1881 阅读 · 0 评论 -
Qt开发 —Linux板USB串口通讯的插拔检测
项目开发中,在安装linux系统的ARM9板上,需要实时检测USB口与Windows客户端的连接和断开情况,从而中断命令的发送,由于USB的连接和数据交互使用的串口通讯,在板子启动的脚本就直接加载了g_serial.ko的模块,在dev目录下生成了ttyGS0的端口号。串口通讯中断端口地址也不会消失,因此,只有通过在一定时间内检测端口的读写状态来判断串口通讯是够正常,如超时则认为连接断开。首先,...原创 2019-12-03 11:03:34 · 2474 阅读 · 0 评论 -
Qt开发 — libusb在Linux端无法打开设备
libusb linux 无法打开设备问题:在使用Qt或者其他开发工具,开发Linux端的程序时。遇到 libusb 在linux下无法正常打开,需要 root 权限才可以打开,而普通权限能调用库,但是无法打开设备进行通讯。解决方案需要在 Linux的系统下的 /etc/udev/rules.d 系统文件下,创建 .rules 文件。文件内容如下: # Put this file in ...原创 2019-10-18 16:20:07 · 1495 阅读 · 0 评论 -
【Ubuntu】gcc g++安装与卸载(专治手残党)
安装之前要卸载掉老版本的gcc、g++sudo apt-get remove gcc gcc-xx #可能有多个版本,都要删掉 sudo apt-get remove g++安装gccsudo apt-get install gcc安装g++编译器,可以通过命令sudo apt-get install build-essential执行完后,就完成了gcc,g++,mak...原创 2019-04-29 18:56:26 · 12888 阅读 · 0 评论 -
Windowd端换行字符
在Windows上,所有写成“\n”字符要写成“\r\n”原创 2019-04-28 18:42:11 · 354 阅读 · 0 评论 -
Qt开发 — WindowType详解
Qt::Widget : QWidget构造函数的默认值,如新的窗口部件没有父窗口部件,则它是一个独立的窗口,否则就是一个子窗口部件。Qt::Window : 无论是否有父窗口部件,新窗口部件都是一个窗口,通常有一个窗口边框和一个标题栏。Qt::Dialog : 新窗口部件是一个对话框Qt::Sheet : 新窗口部件是一个Macintosh表单。Qt::Drawer : 新窗口部件是一...原创 2019-04-04 10:43:32 · 6967 阅读 · 0 评论 -
Qt开发 — 基于openCV 实现摄像头采集以及拍照功能
基于openCV 实现摄像头采集以及拍照功能首先安装OpenCV编译库关于OpenCV的编译安装,参考本人之前博客,这里不做介绍创建工程界面打开 Qt Create 创建桌面应用;编辑camaraget.h#ifndef CAMARAGET_H #define CAMARAGET_H #include <QWidget> #include <QImag...原创 2019-10-30 09:59:12 · 2104 阅读 · 3 评论 -
Qt开发 — 错误can not find -lGL的解决方法
64位ubuntu安装qt后,用桌面套件构建运行时,错误显示can't find -lGLcollect2:error:ld returned 1 exited status这是由于缺少opengl库引起的,可以在终端输入 sudo apt-get install libgl1-mesa-dev安装之后,就可以构建运行qt项目了。...原创 2019-03-25 19:08:04 · 1459 阅读 · 1 评论 -
Qt开发 — QML常用控件
QML TypeContainerDelayButtonDialDialogButtonBoxDialogDrawerMenuMenuBarOverlayPageIndicatorRangeSliderScrollViewSpinBoxStackViewSwipeViewSwitchTabBarToolBarToolSeparatorToolTipTum...原创 2019-03-25 17:41:40 · 1926 阅读 · 0 评论 -
MacOS 开发 — Qt Create 创建Mac 应用
环境的使用打开Mac OS 端安装的Qt Create点击new project,在项目左侧电动机apolication, 选择qt wedgets application,选择choose按钮点击设置文件名与路径名,这里选择工程的名字为test,路径默认,大家可以自己选择选择套件Code创建完成之后的工程如下Code ,然后点击绿色按钮即可自动进行编译运行运行结果...原创 2019-03-14 21:56:13 · 3823 阅读 · 2 评论 -
MacOS 开发 — MacOS安装Qt Create
下载1、下载网址:http://download.qt.io/official_releases/qt/5.11/ 选择最新板的QT5.11.1进行安装。其他版本也可以自选(PS:如果下载很慢可以选则 挂梯子)。选择dmg的安装包下载下载完成后大概2G多不到3G,双击完成安装安装省去若安步骤注意下面弹窗选择OK继续选择安装地址(PS 注意选择一个自定义的文件夹)出现了选择q...原创 2019-03-14 21:42:26 · 2503 阅读 · 0 评论 -
OpenCV3.4.x移植到嵌入式ARM板
OpenCV3.4.x移植到嵌入式ARM板一、交叉编译需要嵌入开发的ARM板环境二、交叉编译openCV1、Opencv源码下载*下载opencv3.4+ 源码解压opencv 源码2、cmake配置在源码目录下 打开终端 安装cmake ,运行 cmake-gui在 cmake界面进行配置第一步:第二步:第三步:1),下图为网上流传非常广泛的配置方法:在这个配置...原创 2019-03-12 00:38:29 · 6671 阅读 · 2 评论 -
Qt开发 — pro 中 contains的使用
contains和 { 必须在同一行,否则报错contains和 { 必须在同一行,否则报错contains和 { 必须在同一行,否则报错contains和 { 必须在同一行,否则报错contains和 { 必须在同一行,否则报错if(contains(DEFINES,TYPE_X5)||contains(DEFINES,TYPE_HIPPO_UP300)||contains(DEFIN...原创 2019-09-04 17:55:39 · 14082 阅读 · 3 评论