自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 资源 (11)
  • 收藏
  • 关注

原创 [C++]引用形参和指针形参的使用建议【经验之谈】

在开发过程中设计函数时,应根据传递参数的值是否允许被改变,来决定定义引用形参还是指针形参。

2023-03-24 16:52:25 180

原创 QMake 文件中常用配置

QMake文件中常用的配置,目前现将项目中遇到的频率较高的几个列举出来,后续逐步补充完整。

2023-02-17 11:45:54 537

原创 【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 472

原创 【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 180

原创 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 824 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?= <[email protected]>Date: Thu, 25 Nov 2021 11:51:52 +0800Subject: [PATCH] Bu

2021-11-25 12:01:02 1065

原创 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 1319

原创 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 194

原创 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 426

原创 基于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 842

原创 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 1821

原创 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 494

原创 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 949

原创 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 600

原创 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 292

原创 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 2604 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 1181

原创 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 536 1

原创 GStreamer插件:fakesink (黑洞插件)

fakesink:是一个吞噬任何数据的伪插件(黑洞插件),类似于Linux的/dev/null 伪设备,用于丢弃不需要的数据。例如,当需要使用音响设备播放视频的时候,视频流对于音响设备是毫无意义的数据,这个时候需要使用 fakesink 插件将视频流数据吞噬掉,否则,GStreamer 会进行音视频同步,视频流未被读取,音频流也无法继续播放。...

2020-12-03 10:13:15 1709 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 203

原创 基于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 559

翻译 基于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 2537

原创 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 2058 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 394

原创 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 2262

原创 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 595

原创 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 933

原创 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 1919 2

原创 Qt Creator编译项目时手动指定安装根目录

# Qt 指定安装根目录make INSTALL_ROOT=/home/myuser/rootfs install# CMake 指定安装根目录make DESTDIR=/home/myuser/rootfs install

2019-11-27 11:56:15 656

原创 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 2042

原创 基于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 1306

原创 Qt中开发 gRPC 自动脚本技巧

目录新建 grpc 自动化脚本工程新建 grpcdemo 测试工程执行测试安装步骤详见:基于码云代码服务快速编译安装gRPC新建 grpc 自动化脚本工程 之前,我们已经讲解了protoc的自动化脚本了,同样的gRPC的插件也可以创建自动化脚本辅助开发。第一步:我们先用 Qt Creator 新建一个“Empty qmake Project”(Qt Cre...

2019-05-29 16:18:18 1179 3

原创 基于码云代码服务快速编译安装gRPC

目录安装依赖工具集下载源代码变更Git Submodule的源地址安装Protobuf编译安装gRPC测试安装结果目前访问国外源代码服务非常不稳定,从GitHub等开源服务器下载代码越来越慢,所以想把一些常用的开源项目转移到码云服务器进行管理和下载,快速便捷,也防止了防火墙的短时间封锁。(建议大家对于一些常用的开源项目建立本地的代码库镜像)安装依赖工具集#安装...

2019-05-24 10:49:37 1023

原创 Qt技巧:正则表达式提取字符串中的键值对数据

分析网络数据或者通信数据的时候,经常需要从一大串字符串中去获取个别键值对的数据,简单的方法就是一个一个字符遍历并且判断关键字符,逻辑往往非常复杂,现在分享一种通过正则表达式提取键值对数据的方法。 例如:下面是一串WIFI的事件反馈字符串,现在需要获取其中的一些数据,具体代码如下:#include <QCoreApplication>#inclu...

2019-04-12 11:06:28 4006

原创 Qt 中开发 Protobuf 自动脚本技巧分享

目录安装 Protobuf新建 protoc 自动化脚本工程新建 protodemo 测试工程      最近在研究谷歌的 Google Protocol Buffer( 简称 Protobuf) ,是 Google 公司内部的混合语言数据标准,用于 RPC 系统和持续数据存储系统。Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者...

2019-01-26 17:03:45 1102 5

原创 Qt Creator 代码格式化的高级配置

        熟悉 Qt Creator 工具的开发者都知道使用代码格式化的方法。在这里,简单地给大家复述一下操作方法:先全选所有代码(Ctrl + A),然后格式化所选代码(Ctrl + I)——注意字母“I”,是“i”的大写,不是“L”。开发过程中,不仅需要频繁的手动操作,而且只能进行一些简单的缩进类型格式化,配置可以在Qt Creator的“工具-选项-C++-代码风格”面板进行编辑。...

2018-11-11 02:23:32 17033 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 3615 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 2094 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 9522 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 10469

gpg4win.3.14.exe.7z

Gpg4win是一款非常好用的文件加密工具。这款工具可以对文件进行加密。用户向他人发送加密文件或邮件时,需要对方的公钥来加密,对方收到后用自己的私钥解密即可得到原文。 gpg4win的核心是GPG,并包括Kleopatra、GPA、GpgOL、GpgEX和Claws Mail五个相关工具,其中Kleopatra和 GPA 是 GPG 的密钥管理器,用于生成、导入和导出 GPG 密钥(包括公钥和私钥),GpgOL是 Outlook 2003 和2007 的 GPG 支持插件,GpgEX是资源管理器的 GPG 支持插件(不支持 Windows 64 位),Claws Mail 则是一个内置 GP

2020-12-06

GitKraken.6.5.1.7z

GitKraken Mac、Windows和Linux免费版本全集,用于Git版本控制图形化界面,目前的新版本都收费,保留6.5.1免费版本。

2020-12-06

GitKraken-v6.5.1.rpm.7z

GitKraken Linux免费版本,用于Git版本控制图形化界面,目前的新版本都收费,保留6.5.1免费版本。

2020-12-06

GitKraken-v6.5.1.deb.7z

GitKraken Ubuntu免费版本,用于Git版本控制图形化界面,目前的新版本都收费,保留6.5.1免费版本。

2020-12-06

GitKrakenSetup-6.5.1.exe.7z

GitKraken Windows免费版本,用于Git版本控制图形化界面,目前的新版本都收费,保留6.5.1免费版本。

2020-12-06

GitKraken651.dmg.7z

GitKraken Mac免费版本,用于Git版本控制图形化界面,目前的新版本都收费,保留6.5.1免费版本。

2020-12-06

MediaInfo_DLL_19.04_GNU_FromSource.tar.bz2

MediaInfo是一款非常实用的视频参数检测工具,除了可以对视频进行编码分析查询,还可以对音频文件的编码及信息进行检测,该款工具软件是一款免费软件。MediaInfo 用来分析视频和音频文件的编码和内容信息,是一款是自由软件 (免费使用、免费获得源代码,许可协议:GNU GPL/LGPL)。MediaInfo_DLL为它的开发库。

2019-06-28

Qt 4.8 Freetype 优化升级包

Qt 4.8版本对于Win CE的字体支持不是特别好,需要修改部分代码优化Freetype的显示效果。

2019-03-01

连接SQLServer2005版本的sqljdbc.jar文件

用于sqljdbc连接SQLServer2005数据库

2008-07-23

asp.net

希望对大家有用啊,积分不多了~!!!

2008-06-04

ASP.NET经典资料

学习的好资料,希望对你有用

2008-06-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除