
Qt 框架
Qt 是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一
弓人水
这个作者很懒,什么都没留下…
展开
-
[C++]引用形参和指针形参的使用建议【经验之谈】
在开发过程中设计函数时,应根据传递参数的值是否允许被改变,来决定定义引用形参还是指针形参。原创 2023-03-24 16:52:25 · 265 阅读 · 0 评论 -
QMake 文件中常用配置
QMake文件中常用的配置,目前现将项目中遇到的频率较高的几个列举出来,后续逐步补充完整。原创 2023-02-17 11:45:54 · 664 阅读 · 0 评论 -
【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 · 562 阅读 · 0 评论 -
【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 · 251 阅读 · 0 评论 -
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 · 1052 阅读 · 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 · 1139 阅读 · 0 评论 -
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 · 274 阅读 · 0 评论 -
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 · 512 阅读 · 0 评论 -
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 · 2209 阅读 · 0 评论 -
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 · 593 阅读 · 0 评论 -
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 · 1165 阅读 · 0 评论 -
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 · 1364 阅读 · 0 评论 -
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 · 644 阅读 · 1 评论 -
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 · 2475 阅读 · 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 · 465 阅读 · 0 评论 -
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 · 2740 阅读 · 0 评论 -
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 · 1031 阅读 · 0 评论 -
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 · 2093 阅读 · 2 评论 -
Qt Creator编译项目时手动指定安装根目录
# Qt 指定安装根目录make INSTALL_ROOT=/home/myuser/rootfs install# CMake 指定安装根目录make DESTDIR=/home/myuser/rootfs install原创 2019-11-27 11:56:15 · 759 阅读 · 0 评论 -
Qt Creator 代码格式化的高级配置
熟悉 Qt Creator 工具的开发者都知道使用代码格式化的方法。在这里,简单地给大家复述一下操作方法:先全选所有代码(Ctrl + A),然后格式化所选代码(Ctrl + I)——注意字母“I”,是“i”的大写,不是“L”。开发过程中,不仅需要频繁的手动操作,而且只能进行一些简单的缩进类型格式化,配置可以在Qt Creator的“工具-选项-C++-代码风格”面板进行编辑。...原创 2018-11-11 02:23:32 · 19747 阅读 · 1 评论 -
Qt 中开发 Protobuf 自动脚本技巧分享
目录安装 Protobuf新建 protoc 自动化脚本工程新建 protodemo 测试工程 最近在研究谷歌的 Google Protocol Buffer( 简称 Protobuf) ,是 Google 公司内部的混合语言数据标准,用于 RPC 系统和持续数据存储系统。Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者...原创 2019-01-26 17:03:45 · 1200 阅读 · 5 评论 -
Qt技巧:正则表达式提取字符串中的键值对数据
分析网络数据或者通信数据的时候,经常需要从一大串字符串中去获取个别键值对的数据,简单的方法就是一个一个字符遍历并且判断关键字符,逻辑往往非常复杂,现在分享一种通过正则表达式提取键值对数据的方法。 例如:下面是一串WIFI的事件反馈字符串,现在需要获取其中的一些数据,具体代码如下:#include <QCoreApplication>#inclu...原创 2019-04-12 11:06:28 · 4171 阅读 · 0 评论 -
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 · 2195 阅读 · 0 评论 -
Qt中开发 gRPC 自动脚本技巧
目录新建 grpc 自动化脚本工程新建 grpcdemo 测试工程执行测试安装步骤详见:基于码云代码服务快速编译安装gRPC新建 grpc 自动化脚本工程 之前,我们已经讲解了protoc的自动化脚本了,同样的gRPC的插件也可以创建自动化脚本辅助开发。第一步:我们先用 Qt Creator 新建一个“Empty qmake Project”(Qt Cre...原创 2019-05-29 16:18:18 · 1298 阅读 · 3 评论 -
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 · 3668 阅读 · 1 评论