- 博客(70)
- 资源 (11)
- 收藏
- 关注
原创 【QML】ShaderEffect 滚动文字效果
import QtQuick 2.6import QtQuick.Window 2.2Window { visible: true width: 640 height: 480 title: qsTr("Hello World") Text { text: textItem.width } Rectangle { id: gradientRect; width: 10 height
2021-12-16 12:11:29
502
原创 【QML】ShaderEffect 文本颠倒效果
import QtQuick 2.6import QtQuick.Window 2.2Window { visible: true width: 640 height: 480 title: qsTr("Hello World") Rectangle { id: gradientRect; width: 10 height: 10 gradient: Gradient {
2021-12-16 10:10:30
196
原创 QML拖拽GridView元素重新排序示例
import QtQuick 2.6import QtQuick.Window 2.2Window { visible: true width: 1024 height: 480 title: qsTr("Drag Icon") property ListModel dataModel: ListModel { ListElement { title: qsTr("电话") } ListElement { title: qsTr
2021-12-16 10:08:38
890
8
原创 Qt 5.6.3 编译 qtremoteobjects 5.11
Qt 5.11 (e81ffe41acf5297b99a7e6cc60db1ed75447d505)From a70eb74af6e8bfc021e3dccde50522b816c1b862 Mon Sep 17 00:00:00 2001From: =?UTF-8?q?=E5=BC=A0=E4=BD=9C=E6=B7=B1?= <zhangzuoshen@gmail.com>Date: Thu, 25 Nov 2021 11:51:52 +0800Subject: [PATCH] Bu
2021-11-25 12:01:02
1086
原创 QML绘制圆角多边形(Canvas)
QML绘制圆角多边形import QtQuick 2.6import QtQuick.Window 2.2Window { visible: true width: 500 height: 500 /** * 圆角多边形 * @param {point[]} points 顶点数组 [Qt.point(x1,y1),...] * @param {Number} radius 圆角半径 * @param {Context2D}
2021-11-18 16:27:17
1436
原创 QML示例代码:圆形头像效果
Image { id: image source: "1.jpg" property bool rounded: true property bool adapt: true layer.enabled: rounded layer.effect: ShaderEffect { property real adjustX: image.adapt ? Math.max(width / height, 1) : 1 prope
2021-10-28 14:48:00
213
原创 QML导入自定义JavaScript对象
由于低版本Qt不支持JavaScript的Promise对象,所以这里用一个轻量级Promise的例子列举一下。原版代码路径:https://github.com/stackp/promisejs这里我们进行了一下裁剪,去除网络请求的部分,新的代码如下:// promise.js(function(exports) { function Promise() { this._callbacks = []; } Promise.prototype.then =
2021-09-07 10:59:00
455
原创 基于Yocto的qmake编译环境默认QMAKE_SPEC不是linux-oe-g++的问题
项目场景:https://github.com/meta-qt5/meta-qt5 krogothQt版本为:Qt 5.6.3问题描述:配置本地编译环境 Qt Creator 后发现需要在 IDE 的中指定 Qt mkspec 为 linux-oe-g++ 才能编译通过原因分析:通过分析 meta-qt5/classes/qmake5_base.bbclass 文件得知该版本存在一个书写BUG(TargetSpec 写成了 TartgetSpec)do_generate_qt_conf
2021-07-23 16:48:09
923
原创 Qt编译问题:自定义Qml模块插件运行时出现错误
问题现象/home/user/Qt/Qt5.6.3/5.6.3/gcc_64/bin/qmlplugindump -nonrelocatable Qt.Custom 0.1 > /home/user/Source/QtCustom/src/imports/custom/plugins.qmltypesQQmlComponent: Component is not readyQQmlApplicationEngine failed to load componentqrc:/main.qml:
2021-06-17 10:33:09
2020
原创 Qt编译问题:Ubuntu 20.04 64位环境下安装 yocto 32位编译器无法编译的问题
常见报错信息如下:make:arm-linux-gnueabihf-gcc: Command not foundbash: arm-linux-gnueabihf-gcc: No such file or directory安装 32 位编译支持sudo apt-get install lib32ncurses6 # 或 lib32ncurses5 sudo apt-get install lib32z1sudo apt-get install lib32stdc++6测试方法:先
2021-02-04 15:53:59
528
原创 Qt编译问题:基于yocto交叉编译环境无法识别 pkgconfig 配置
基于yocto交叉编译环境的Qt工具有时候在服务器端会加入一些本地无法识别的路径,导致本地编译出现各种异常,例如:无法编译通过基于pkgconfig的链接库CONFIG += link_pkgconfigPKGCONFIG = gstreamer-1.0 报错信息:fatal error: gst/gst.h: No such file or directory解决步骤:1、查找yocto交叉编译工具下面的 qconfig.pri 文件,一般在路径:安装目录/sysroots/###-pok
2021-02-04 15:41:59
1022
原创 Ubuntu 20.04 LTS: 安装 Jenkins 可扩展的持续集成工具
安装 openjdk-8-jdk虽然目前已经可以安装 openjdk-14-jdk ,但是目前稳定安装包 jenkins_2.263.1_all.deb 并不支持该版本的 JDK,我已经踩过一次坑了,这里提醒大家,并不是最新的就是最适合的。# 安装命令sudo apt-get install openjdk-8-jdk# 查看命令javac -version# 输出结果:javac 1.8.0_275安装 daemon这是一个依赖项,如果不安装的话,命令:sudo dpkg -i j
2020-12-29 13:28:44
614
原创 Ubuntu 20.04 LTS: 登录 SSH 时如何显示大字幕标题
安装 FIGlet 大字幕生成工具FIGlet是一个把普通文本变成大字幕的程序。安装命令如下: sudo apt-get install figlet假如,我们的服务器是作为GitLab服务器使用,可以给该服务器的SSH登录时显示一个 GitLab 大字幕。生成命令如下:figlet -w 80 -c GitLab结果如下: ____ _ _ _ _ /
2020-12-26 21:57:35
315
原创 GStreamer插件:appsrc 解决播放实时视频流高延迟问题
appsrc = (GstAppSrc*) gst_element_factory_make ("appsrc", NULL);g_object_set (appsrc, "is-live", TRUE, NULL);g_object_set (appsrc, "stream-type", 0, NULL);g_object_set (appsrc, "format", GST_FORMAT_TIME, NULL);// 给实时视频流打上时间戳g_object_set.
2020-12-22 17:17:32
2850
1
原创 QMake开发技巧之获取编译器版本信息
# your .pro file# g++ 编译器(版本:9.3.0)QMAKE_GCC_MAJOR_VERSION # gcc 主版本号(如:9)QMAKE_GCC_MINOR_VERSION # gcc 次版本号(如:3)QMAKE_GCC_PATCH_VERSION # gcc 修订版本号(如:0)# clang 编译器(版本:10.0.1)QMAKE_CLANG_MAJOR_VERSION # clang 主版本号(如:10)QMAKE_CLANG_MINOR_VERSION
2020-12-17 11:38:52
1240
原创 QMake开发技巧之 INSTALL 配置(no_check_exist:忽略检测安装文件是否存在)
应用场景:有时候需要安装中间生成一些文件,但是这些文件未生成之前,qmake的INSTALL会默认检测安装的是否存在,并会报错给用户,需要配置 no_check_exist 忽略检测机制。# your .pro fileres.files += $$OUT_PWD/resource.rccres.CONFIG += no_check_existres.path = /usr/binINSTALLS += res...
2020-12-17 10:56:03
567
1
原创 GStreamer插件:fakesink (黑洞插件)
fakesink:是一个吞噬任何数据的伪插件(黑洞插件),类似于Linux的/dev/null 伪设备,用于丢弃不需要的数据。例如,当需要使用音响设备播放视频的时候,视频流对于音响设备是毫无意义的数据,这个时候需要使用 fakesink 插件将视频流数据吞噬掉,否则,GStreamer 会进行音视频同步,视频流未被读取,音频流也无法继续播放。...
2020-12-03 10:13:15
1848
2
转载 Systemd开发之示例:EnableUnitFiles/DisableUnitFiles
#include <gio/gio.h>#ifndef SSHD_SERVICE#define SSHD_SERVICE "sshd.service"#endifstatic const gchar *service_list[] = { SSHD_SERVICE, NULL };static gintenable_ssh_service (){ g_autoptr(GDBusConnection) connection = NULL; g_autoptr(GErro
2020-11-27 15:16:26
227
原创 基于Yocto编译树莓派3B+(加速下载代码)
系统环境接前文,操作系统选:推荐使用Ubuntu 18.04或20.04 Ubuntu 64位服务器,当然空间够用的话,用桌面版也可以,本人实际环境是Ubuntu 18.04 Desktop。安装网络代理软件安装网络代理软件这一步没有什么需要讲的了。代理服务器:127.0.0.1代理端口:1080代理类型:socks5配置Git代理git config --global http.proxy socks5://127.0.0.1:1080git config --global https.
2020-11-19 14:40:05
574
翻译 基于Yocto编译树莓派3B+
目录介绍直接下载系统说明Ubuntu安装配置克隆依赖库克隆meta-rpi存储库设置构建生成目录自定义配置文件编辑bblayers.conf编辑local.confMACHINETMPDIRDL_DIRSSTATE_DIR超级用户密码运行构建准备构建环境构建镜像将二进制文件复制到SD卡(或eMMC)介绍Yocto ,是一个开源社区。它通过提供模版、工具和方法帮助开发者创建基于linux内核的定制系统,支持ARM, PPC, MIPS, x86 (32 & 64 bit)硬件体系架构。Yocto
2020-11-15 23:16:12
2657
原创 Qt问题:IMX8嵌入式基于Weston启动窗口弹出虚拟键盘(qtvirtualkeyboard)闪退
Qt问题:IMX8嵌入式基于Weston启动窗口弹出虚拟键盘(qtvirtualkeyboard)闪退一、加入虚拟键盘环境变量二、启动后光标点入文本框弹出软键盘后闪退,打印如下消息:三、解决:编辑/etc/xdg/weston/weston.ini文件,加入如下内容(确保weston-keyboard已安装)四、重启weston和窗口程序即可完成。一、加入虚拟键盘环境变量qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));二、启动后光标点
2020-10-21 21:24:54
2192
5
原创 QMake开发技巧之通过rcc工具生成文件
List itemqtPrepareTool(QMAKE_RCC, rcc, _DEP)QRC_FILES = res.qrcrccfile.input = QRC_FILESrccfile.output = $$OUT_PWD/${QMAKE_FILE_BASE}.rccrccfile.name = RCC ${QMAKE_FILE_IN}rccfile.depends += $$QMAKE_RCC_EXErccfile.depend_command = $$QMAKE_RCC_DEP .
2020-10-13 20:45:19
417
原创 QMake开发技巧之复制文件
方法一:变量COPIES指定需要拷贝的文件列表和目标路径;copy_files.files = $$filelistcopy_files.path = $$OUT_PWDCOPIES += copy_files方法二:变量QMAKE_SUBSTITUTES指定需要拷贝的文件和拷贝后的文件。copy_file.input = qmldircopy_file.output = $$OUT_PWD/qmldircopy_file.CONFIG = verbatimQMAKE_SUBSTI.
2020-10-13 11:22:01
2469
原创 Ubuntu 16.04系统中编译安装FFmpeg 4.2.1(Android NDK r20)
1、下载FFmpeg 4.2.1的源码,下载Android NDK r202、解压缩源码包和Android NDK3、修改ffmpeg-4.2.1文件夹下configure文件:SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)'LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'SLIB...
2019-12-27 14:47:48
622
原创 Qt创建生成pkg-config工程库的方法
1、文件:qmake-example.pro## We get the PREFIX, QMAKE_EXAMPLE_MAJOR_VERSION, QMAKE_EXAMPLE_SOVERSION,## QMAKE_EXAMPLE_MINOR_VERSION, QMAKE_EXAMPLE_PATCH_VERSION,## QMAKE_EXAMPLE_CURRENT_VERSION, QMAKE_...
2019-12-20 14:56:47
968
原创 QML显示界面帧率(FPS)的方法
头文件:fpslabel.h#ifndef FPSLABEL_H#define FPSLABEL_H#include <QQuickPaintedItem>class FPSLabel : public QQuickPaintedItem{ Q_OBJECT Q_PROPERTY(int value READ value NOTIFY valueChang...
2019-12-18 15:13:05
1981
2
原创 Qt Creator编译项目时手动指定安装根目录
# Qt 指定安装根目录make INSTALL_ROOT=/home/myuser/rootfs install# CMake 指定安装根目录make DESTDIR=/home/myuser/rootfs install
2019-11-27 11:56:15
701
原创 Qt Creator配置Yocto交叉编译环境——简洁篇
目录准备工作:配置Qt Creator交叉编译构建环境打开 "Build & Run" 设置,通过 [Menu] -> [Tools] -> [Options...]配置远程设备完成并运行程序准备工作:准备一台Ubuntu 16.0.4系统的开发环境; 安装Qt 5.8.0工具; 安装Yocto交叉工具链。配置Qt Creator交叉编译...
2019-06-05 10:55:46
2096
原创 基于Yocto交叉编译gRPC的步骤简介
版本适配:gRPC=v1.21.0, Protobuf=v3.5.0交叉编译之前,请先编译安装本地版本的gRPC和Protobuf,注意版本适配。第一步:初始化Yocto的交叉编译环境source Yocto 的环境变量 environment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabi第二步:编译安装Protobufcd th...
2019-05-29 17:45:41
1443
原创 Qt中开发 gRPC 自动脚本技巧
目录新建 grpc 自动化脚本工程新建 grpcdemo 测试工程执行测试安装步骤详见:基于码云代码服务快速编译安装gRPC新建 grpc 自动化脚本工程 之前,我们已经讲解了protoc的自动化脚本了,同样的gRPC的插件也可以创建自动化脚本辅助开发。第一步:我们先用 Qt Creator 新建一个“Empty qmake Project”(Qt Cre...
2019-05-29 16:18:18
1223
3
原创 基于码云代码服务快速编译安装gRPC
目录安装依赖工具集下载源代码变更Git Submodule的源地址安装Protobuf编译安装gRPC测试安装结果目前访问国外源代码服务非常不稳定,从GitHub等开源服务器下载代码越来越慢,所以想把一些常用的开源项目转移到码云服务器进行管理和下载,快速便捷,也防止了防火墙的短时间封锁。(建议大家对于一些常用的开源项目建立本地的代码库镜像)安装依赖工具集#安装...
2019-05-24 10:49:37
1036
原创 Qt技巧:正则表达式提取字符串中的键值对数据
分析网络数据或者通信数据的时候,经常需要从一大串字符串中去获取个别键值对的数据,简单的方法就是一个一个字符遍历并且判断关键字符,逻辑往往非常复杂,现在分享一种通过正则表达式提取键值对数据的方法。 例如:下面是一串WIFI的事件反馈字符串,现在需要获取其中的一些数据,具体代码如下:#include <QCoreApplication>#inclu...
2019-04-12 11:06:28
4075
原创 Qt 中开发 Protobuf 自动脚本技巧分享
目录安装 Protobuf新建 protoc 自动化脚本工程新建 protodemo 测试工程 最近在研究谷歌的 Google Protocol Buffer( 简称 Protobuf) ,是 Google 公司内部的混合语言数据标准,用于 RPC 系统和持续数据存储系统。Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者...
2019-01-26 17:03:45
1135
5
原创 Qt Creator 代码格式化的高级配置
熟悉 Qt Creator 工具的开发者都知道使用代码格式化的方法。在这里,简单地给大家复述一下操作方法:先全选所有代码(Ctrl + A),然后格式化所选代码(Ctrl + I)——注意字母“I”,是“i”的大写,不是“L”。开发过程中,不仅需要频繁的手动操作,而且只能进行一些简单的缩进类型格式化,配置可以在Qt Creator的“工具-选项-C++-代码风格”面板进行编辑。...
2018-11-11 02:23:32
18112
1
原创 Qt显示中文(包括QMessageBox、文本框右键菜单等)
从QT安装目录下面将文件“C:\Qt\4.8.3\translations\qt_zh_CN.qm”复制一份到你的项目目录下。在项目中新建一个资源文件,输入如下内容: qt_zh_CN.qm 修改主函数main.cpp代码如下,表示要加载相应的资源文件。#include #include #include #include "mainwind
2012-11-20 16:51:17
3636
1
原创 360安全卫士与Eclipse 3.7启动冲突“Failed to create the Java Virtual Machine”解决方案
我本机内存为1G(机器1G内存以上可能不会出现此情况),360安全卫士运行中,启动Eclipse 3.7,启动失败,提示信息如下Failed to create the Java Virtual Machine 解决方案一:减小Eclipse的启动初始化内存值修改文件“安装目录/eclipse/eclipse.ini”中的内存值,如下:-startupplugins/or
2012-04-17 10:04:08
2104
2
原创 Linux系统下Oracle执行SQL脚本后中文出现乱码解决方法
先确认Oracle的字符集,sqlplus登录Oracle后执行语句:select userenv('language') from dual;返回值例如:AMERICAN_AMERICA.ZHS16GBK修改Linux的NLS_LANG环境变量,修改Oracle指定的Linux用户下面“.base_profile”文件,加入如下:export NLS_LANG="AMERICAN_AMERICA
2012-03-30 10:25:09
9581
1
原创 JVM默认字符集问题
获取JVM默认字符集:System.getProperty("file.encoding")public class Test { public static void main(String[] args) { System.out.println(System.getProperty("file.encoding")); }}获取中文字符的长度不同public class T
2012-03-29 16:16:50
10508
gpg4win.3.14.exe.7z
2020-12-06
GitKraken.6.5.1.7z
2020-12-06
MediaInfo_DLL_19.04_GNU_FromSource.tar.bz2
2019-06-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人