- 博客(153)
- 资源 (54)
- 收藏
- 关注
转载 关于QML仪表空间 CircularGauge的理解
最近做一个qt仪表,但是对于qml自带的仪表控件有点模式,于是在网上找到了一篇很好理解的文章,转载记录。
2022-08-19 11:27:51
737
原创 Linux下搭建本地git服务器
作为一个程序员,有的时候开发项目可能并不需要立即提交到公司的git服务器或者是内部的预演项目。但是每天修改又担心不能回滚,因此用本地git是个不错的选择。文旨在介绍linux系统下如何创建一个本地的git服务器,这样便于开发者管理本地项目。
2022-06-01 20:15:51
988
原创 Window下编译qtpdfium
系统环境:windows11Qt版本:Qt5.15.2源代码路径:下载下来后,直接用MSVC2019编译器的CMake环境编译,顺利通过。但是使用Mingw编译器编译的时候,却出现了一堆错误。错误就不截图了,现在已经把坑全部填平,懒得再返回去了。接下来直接贴出要修改的地方1.修改qpdf\CMakeLists.txt#在代码set(CMAKE_DEBUG_POSTFIX d)#后面,添加下面代码if(CMAKE_COMPILER_IS_GNUCXX) set(CMAKE
2022-04-23 10:12:55
1560
8
原创 linux之字符设备驱动
最近由于工作需要,因此回顾了下字符设备驱动。具体的内容我就不多说了,直接看这位博主写的:Linux设备驱动(二)—— 字符设备驱动(三)——自动创建设备节点_Thanos Yan的博客-CSDN博客写的是相当详细。此处我主要介绍我使用的示例: app-write.c build.sh epoll_read.c Makefile memdev.c memdev.hmemdev.c memdev.h是我的驱动示例文件app-write.c 向字符设备驱动写一段十六进制
2022-04-06 16:59:23
173
原创 MateBook D MRC-W50 15.6更换指纹开机键
前言看到别的小朋友笔记本都有指纹开机按键,于是就像让自己的MateBookD也拥有指纹。因为去年买了一台MacBookPro13.3寸的顶配,因此就不打算再买一个windows本本。一、购买指纹开机按键为了给老笔记本升级指纹按键,于是在某宝上搜索了相关信息,没找到合适的。于是到某鱼上找,功夫不负有心人,终于让我找到了。如下图:二、更换今天早上兴高采烈的早早来到公司,打开我的工具箱,认认真真的把我的华为本本拆开。随着一幕幕映入眼帘的景象,让我内心越来越凉。拆到这里,..
2022-04-06 09:09:44
2425
原创 Ubuntu20.04基于QT5.15.2搭建android环境
一、之前搭建Qt for android环境步骤1.安装JDK然后再配置环境变量。2.安装SDK配置环境变量3.安装NDK配置环境变量二、现在搭建Qt for android环境1.安装JDK然后再配置环境变量。下载jdkJava Downloads | Oracle选择框线那个。解压到:/opt/jdk/jdk-18编辑bashrc文件vi ~/.bashrc设置内容如下:#set jdk environmentexport JAV..
2022-03-31 23:18:16
4602
原创 Ubuntu20安装以后要做的事
0.启动工作如果是华硕笔记本,那么需要看下是否是双显卡,我的笔记本是VM520U,打开BIOS可以看到一个是Intel集成显卡,一个是AMD的独立显卡,而BIOS中又没有设置切换显卡的地方,为此我还升级了BIOS,但是还是没有设置显卡的接口。如下图:这样也会导致你开机输入用户名和密码后直接紫屏或者是黑屏。原因是AMD的显卡无官方Linux驱动。解决方案如下:0.1)强制关机,然后到登录界面时按Ctrl+Alt+F2进入tty2,然后输入用户名和密码,修改下列文件:sudo vi /et
2022-03-30 14:52:23
2071
1
原创 华硕笔记本安装Ubuntu20.04
前言:由于工作原因,需要使用Ubuntu18以上的版本,因此我干脆一步到位,直接安装Ubuntu20.04,以下是我这两天的魔鬼经历,特此记录,给遇到同样问题的同学做个参考。一、安装前准备1.1). 更换笔记本机械硬盘为SSD。1.2). 制作U盘安装工具。此处我使用到的是rufus-3.18.exe和Ubuntu官网镜像。我已经打包放到百度网盘,需要的来取:链接:https://pan.baidu.com/s/1Bbyg4M5S_KHa6pn54ejYfQ提取码:xtls..
2022-03-29 18:13:48
4707
5
原创 QSettings清空内容
最近写项目使用到QSettings来保存配置文件,但是有时候打开文件发现里面内容错乱,为了保证文件里的内容正确,每次更新文件都会调用clear或者remove来清理内容。但是保存以后发现错乱的信息还在,于是想到了有可能执行sync才会同步到文件。因此试了以下。发现可以清空。具体写法如下:如果只调用QSettings::clear或者settings.remove,只是清空内存中的数据。真正的要把文件清空,写法如下:void clearIconIni(){ QSettings icon
2022-03-26 12:58:15
2193
原创 Qt使用wxsqlite为sqlite加/解密并制作sqlite3shell工具
在嵌入式上使用QT开发用户界面时候,少不了使用数据库。但是Qt自带的sqlite3数据库是没有加密的,因此当保存一些敏感信息的时候很容易暴漏个人隐私。网上查了很多资料,此处做下总结方便大家学习。1.加密方式分类1.1)使用SQLCipher加密。1.2)使用wxSqlite加密。2.使用wxSqlite加密步骤2.1)下载并解压文件下载地址:Releases · utelle/wxsqlite3 · GitHub此处我下载的是3-4.5.1,解压后如下:由于文件众..
2022-03-15 12:17:46
2002
2
原创 Qt调用SQLCipher实现数据库加密/解密
书接上回。(1条消息) Qt 使用Sqlite3数据库加密_ 刘一儿(嵌入式)-CSDN博客_qt sqlite数据库加密加密后,如何在命令行进行解密呢?SQLCipher官网API:SQLCipher API - Zetetic经过查找发现使用 如下命令可以打开数据库:PS E:\QtPro\Qt5\sqlitecipher > .\sqlite3shell.exe .\student.dbSQLite version 3.8.2 2013-12-06 14:53:30E.
2022-03-14 13:41:19
1914
原创 windows下创建本地git仓库
有些时候自己新建的一些工程并不太愿意上传到git服务器,而又想做到可以版本回退,那么创建本地git仓库是很好的办法。1.在自己的项目目录,初始化本地仓库lsyai@Eleven MINGW64 /e/QtPro/test/test_local_git$ git initInitialized empty Git repository in E:/QtPro/test/test_local_git/.git/2.使用add命令,增加本地文件lsyai@Eleven MINGW64 /
2022-03-12 08:57:22
1413
原创 qml打印输出行号
在qml中我们调试打印信息使用console.log()方式去打印信息,但是在控制台上并不能显示该条信息具体打印的位置以及是哪个文件。如果我们项目的文件非常多,那么很难定位。那么使用Qt日志重定向功能很好的解决这个问题。1.在main.cpp中加入以下代码:#include <QFile>#include <QMutex>#include <QDateTime>QtMessageHandler gDefaultHandler = NULL;void m
2022-03-11 10:02:01
1200
原创 创建QML单例在项目中使用
一、创建QML单例的几种方式在我们开发项目时,一般都会单独写一个文件作为全局的配置文件。而这个文件一般都是全局只能有一个对象。因此在QML文件中,也提供了创建单例的方法。1.纯QML文件创建单例模式1.1假设有配置文件名为:Config.qml,内容如下:pragma Singleton //qml开头必须要有这一句import QtQuick 2.9QtObject { id: config objectName: "config" property
2022-03-08 20:33:57
650
原创 qml插件自动生成描述文件(plugin.qmltypes)
1.什么是qmltypes文件?答:qmltypes是qml插件的解释文件,用于QtCreator语法高亮。可通过Qt提供的工 具qmlplugindump自动生成。2.在windows下编译qml插件时候,如何自动生成该文件?2.1 设置qmlplugindump工具在windows中的环境变量。1.找到qmlplugindump安装路径2.加入环境变量3.启动dos窗口,输入命令qmlplugindump验证:2.2 写生成脚本cr...
2022-03-05 21:08:09
1139
1
原创 在IMX6上使用hdmi显示qt应用
首先将迅为-IMX6开发板分别连接9.7寸屏和HDMI显示器然后使用MfgTool工具烧写QT系统然后拨码开关设置成从emmc启动在uboot命令行下设置开发板为9.7寸屏显示(这样也会同时设置HDMI)设置完,保存配置,如下图:然后设置启动QT系统,并保存设置,如下图:然后开发板重新启动,可以看到默认9.7寸屏显示qt的触摸校准程序了,点击屏幕校准,最后会在9.7寸屏上运行QT的demo程序。HDMI显示通道默认是关闭的,在串口命令行下输入命令“echo 0 >..
2022-01-13 18:24:58
802
原创 华为MateBook D MRC-W50 15.6开启TPM2.0
前言 8月30号受不了Win11的诱惑,给我电脑安装了Win11。安装的时候没少踩坑,因为我的华为笔记本在BIOS中没有找到打开TPM2.0选项。于是在网上看到有人修改注册表来安装,我当时也是按照该方法,然后成功安装Win11。但是安装完成后,在 { 设置-->Windows更新--->Windows预览体验计划中 } 提示如下:之前一直也没在意,后来想着可能是因为没有TPM2.0导致的该提示。于是各种搜索各种找资料。后来终于在华为论坛找到了一位仁...
2021-09-26 14:28:39
9965
4
原创 Qt中使用条件变量控制应用退出时间
前言:场景:应用启动时候启动一个线程,线程里面隔几秒查询一个设备的状态。在关闭该软件的时候唤醒线程一起关闭。于是想到使用条件变量来做该逻辑。如下:struct timespec abstime;struct timeval now;long timeout_ms = 100; // wait time 100msgettimeofday(&now, NULL);long nsec = now.tv_usec * 1000 + (timeout_ms % 1000...
2021-08-24 16:49:06
420
原创 Qt拦截android back按键
一、直接在android中拦截1.1 写一个java类MainActivitypackage com.lsy.sharedata;import java.util.Iterator;import java.util.List;import android.view.KeyEvent;import android.Manifest;import android.app.Activity;import android.app.AlertDialog;import android.con
2021-08-17 17:35:48
708
原创 Qt之自定义ToolTip
背景:由于Qt自带的tooltip不是特别美观,于是想到自定义一个tooltip。1.自定义ToolTip类。 1.1 该类继承于QWidget,主要设置属性如下: setWindowFlag(Qt::Popup); setWindowFlag(Qt::FramelessWindowHint); setMouseTracking(true); setFocusPolicy(Qt::NoFocus); setAttribute(Qt...
2021-08-17 10:27:09
2356
原创 Qt中预加载宏和程序结束后清理
1.预加载:static void preRoutineMyDebugTool(){ qDebug()<<"prepare...........";}Q_COREAPP_STARTUP_FUNCTION(preRoutineMyDebugTool)运行效果:2.程序结束后清理:static void cleanup_ptr(){ qDebug()<<"clear.............";}int main(int argc.
2021-08-12 10:18:07
307
原创 QtCreator Debugger设置之win7篇
前提:在win7上安装了Qt5.14.2和VS2017,配置Kits的时候,总是有一个黄色的感叹号,这让有强迫症的我着实忍受不了。于是就点开看了下警告的部分,如下图:于是上网搜索window下的Debugger工具,但是好多资料都无法下载,但是功夫不负有心人,最终还是被我揪出来了,为了方便大家下载,链接再此:https://download.csdn.net/download/lsyrhz/20618339接下来是安装图解:Windebugger安装1.启动win...
2021-07-29 11:06:20
763
1
原创 Qt信号槽传递自定义结构体
1.定义结构体并注册元对象//1.定义结构体struct Student{ int m_id; int m_age; QString m_name;};//2.注册元对象Q_DECLARE_METATYPE(Student)class MainWindow : public QMainWindow{ Q_OBJECTpublic: explicit MainWindow(QWidget *parent = 0);
2021-07-03 14:16:54
1815
原创 QtCreator启动警告
警告1:cl.exe" is used by qmake, but ...:-1: warning: "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\bin\HostX86\x64\cl.exe" is used by qmake, but "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\T
2021-06-28 10:59:02
2203
1
原创 linux 进程间通信之信号
需求:进程A正常运行,当进程B启动后,需要通知进程A结束。进程A:#include<stdio.h>#include<stdlib.h>#include<sys/types.h>#include<unistd.h>#include<signal.h>#include<wait.h>//自定义的信号处理函数void my_sig(int sig){ if(SIGRTMIN == sig) {
2021-06-24 15:27:03
239
原创 qt for android 悬浮窗示例
纯Android悬浮窗仓库地址:https://github.com/ZhaoKaiQiang/FloatWindow
2021-06-09 17:27:37
951
1
原创 Qt for Android 之R文件
問題如下:build-androidScreenShot-Android_Qt_5_15_2_Clang_Multi_Abi-Debug\android-build\src\sc\floatwindow\FloatWindowBigView.java:13: 错误: 程序包sc.floatingwindow不存在import sc.floatingwindow.R;
2021-06-09 16:00:37
281
原创 Qt for android 使用Sqlite3数据库
我的环境:Qt5.15.2 + android101.使用Qtcreator新建一个android工程。pro文件如下:QT += quick sql qmlCONFIG += c++11android { QT += androidextras}CONFIG += c++11# You can make your code fail to compile if it uses deprecated APIs.# In order to do so, uncomment
2021-06-01 11:37:05
943
原创 qml开发小技巧
1.设置app版本号。main.cpp中写入下面代码: QGuiApplication app(argc, argv); app.setApplicationVersion("1.0.1.0");main.qml中获取版本号 Text { anchors.centerIn: parent; text: "App version " + Qt.application.version }运行结果如下图:2.qml把全局文件作为单例使
2021-05-10 15:00:48
523
原创 windows下Qt自动打包脚本
在qt生成exe的目录下新建文本:autopack.bat。然后输入以下内容,保存双击。for /r "%cd%" %%i in (*.exe) do (windeployqt.exe "%%~nxi")pause
2021-04-22 16:32:27
491
原创 qt中xxx.pro学习
1.判断是否有该模块,有则编译,无则忽略qtHaveModule(webengine) { SUBDIRS += \ webview}2.指定依赖关系examples.depends = tools support skins qmlexport边学习,边记录...
2020-12-07 08:59:45
1037
翻译 QML编码规范
qt官方原文:https://doc.qt.io/qt-5/qml-codingconventions.html目录QML对象声明属性组列表JavaScript代码QML对象声明QML对象特性一般使用下面的顺序进行构造:id 属性声明 信号声明 JavaScript函数 对象属性 子对象 状态 状态切换为了获取更好的可读性,建议在不同部分之间添加一个空行。例如,下面使用一个Photo对象作为示例:Rectangle { id: photo //
2020-11-25 09:00:46
412
原创 Qt之生成连接库
一、Qt生成动态练级库的方式1).在Linux下生成库①.在Linux下生成动态链接库在Qt工程文件中配置:TEMPLATE = lib。默认生成的动态库带软连接。如果不想带有软连接,则配置:CONFIG += plugin②.在Linux下生成静态连接库只需在 .pro文件下配置: TEMPLATE = lib CONFIG += staticlib 2).在Windows下生成库Ⅰ.使用MinGw生成库①.生成动态...
2020-11-20 10:03:07
619
linux之字符设备驱动学习示例
2022-04-06
logcat移植到linux4.19内核上
2022-01-10
嵌入式linux-4.19内核支持的logcat驱动文件
2022-01-08
win7_debuger_32_64
2021-07-29
GComboBox.rar
2020-05-31
chapter_two.rar
2020-04-03
screenShort.tar.gz
2020-03-05
arm下移植linphone
2018-07-05
基于qt4的温度计
2017-07-31
qt获取按键双击、多击事件
2016-01-25
Linux图书管理系统
2011-12-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人