
日常记录
ihmhm12345
这个作者很懒,什么都没留下…
展开
-
2023-03-07 qDebug() 打印输出的内存保存到变量小技巧
qDebug 输出到变量。用的时候不多,如需要记录数据内存地址是比较有用。原创 2023-03-07 11:39:22 · 437 阅读 · 0 评论 -
2023-03-01 qml中的Image读取内存图片
需要重写QQuickImageProvider。原创 2023-03-01 14:28:18 · 517 阅读 · 0 评论 -
2023-01-18 Qt QObjectListModel的简单使用
这段时间在写qml界面,c++与qml交互中用到mode是常事,但遇到些小问题,在解决的过程中,顺便记录一下model的使用。model 只实现了基本的功能,不过对于存放QObject来说,也够用private :i ++) {if(!i ++) {if(!i ++) {if(!原创 2023-01-19 10:39:26 · 1721 阅读 · 0 评论 -
2023-01-06 Clion在widows 下Run窗口单行限制120字符解决记录
问题就是Windows下的clion Run窗口,行字符数被限制在120个。目前Clion版本 CLion 2022.2.3。原创 2023-01-06 10:48:54 · 699 阅读 · 0 评论 -
2022-10-19 如何在Qt Creator 里快速查看Qt源码
看我的这两个配置,一个是只检索cpp;h之类的源文件,另一个是只查看qml源文件。设置完了后,需要刷新一次,不然要等一小时后才会生效。需保证本机有Qt源码,再使用以下设置。1.查看cpp 源代码。2. 查看qml源码。原创 2022-10-19 15:42:05 · 5232 阅读 · 0 评论 -
2022-10-14 计算图片的平均颜色
使用js 获取图片平均颜色。原创 2022-10-14 11:18:08 · 453 阅读 · 0 评论 -
2022-10-10 Qt自定义Model时遇到的小坑
自定义Qt的模型,如下代码结果在UI端调用时出现问题了每个模型会多创建一个Item,也就是说本来模型里有10个数据,但Repeater会打印20条数据。原创 2022-10-10 15:47:40 · 296 阅读 · 0 评论 -
2022-09-22 std::bind 使用时使用函数传参的问题
前几天用到了std::bind(),就随便在baidu上搜了一下就开始使用了,结果使用过程中才发现百度上搜到的资料都巨坑,最终还是在[https://en.cppreference.com/w/cpp/utility/functional/bind](https://en.cppreference.com/w/cpp/utility/functional/bind) 找到最正式的说明,才解决问题原创 2022-09-22 10:07:07 · 373 阅读 · 0 评论 -
2022-09-13 使用QML实现文字雨
前两天看到有人拿js做了一个文字雨特效,使用的是 Canvas,QML也一样可以用它来实现。原创 2022-09-13 09:44:09 · 407 阅读 · 0 评论 -
2022-09-02 vscode的快捷键配置
平时大部时候在qtcreator下写代码,最喜欢它的F2函数切换和F4文件切换,改在vscode下写代码的时候,如果也需要此配置,可以按下进行配置。原创 2022-09-02 15:31:52 · 615 阅读 · 0 评论 -
2022-06-19 Qt 多线程
Qt中线程的学习记录Qt线程方式:示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。都有类似的功能集Qt提供线程池基本经验法则在多线程环境中,线程安全的函数可以实现数据共享,需不需要单独考虑数据同步可重入函数支持多个线程同时结其进行调用,需无需考虑外部数据同步所有线程安全的函数都是可重入的,但反之不一定成立.继承QTread 和movetothread这两种线程的方式,太常见了,网络上资料也多的很,这里就不详细描述,看官方文档或者网络上一查即可...原创 2022-06-19 18:12:55 · 800 阅读 · 0 评论 -
2022-06-15 QSettings在项目工程中的应用
QSetting 最简单的用法就是但这样会造成在项目中会到处使用到iniPath其实文档里有说到一点,只要程序设置了程序名,组织名,那在工程任意位置调用QSetting原创 2022-06-15 17:15:16 · 236 阅读 · 0 评论 -
2022-06-14 QThread CPU压力测试
这两天突然拿到一个小设备,想没测试一下设备的cpu散热表现和性能可以拿现有的CPU压力测试来测试,但因为这小设备需要运行我们自已的软件,而且想知道CPU在高压下对我们自己的软件有没有什么影响,所以现成的CPU压力测试工具并不合适,怎么弄呢,我们可以在自己的软件里加一点测试的代码...原创 2022-06-14 16:13:29 · 779 阅读 · 0 评论 -
2022-05-27 利用RAII机制优雅解决问题
文章目录RAII机制原理解决问题RAII机制原理RAII,即Resource Acquisition Is Initialization,在初始化中获取资源。RAII机制,通过在栈上创建临时变量,这样临时变量就接管了堆上内存的控制权,当该临时变量声明周期结束时,则对应的堆上内存自然就被释放了。我们在代码中最常用的就是智能指针解决问题有时候我们可能需要记录程序的运行过程,最简单也是最直接的方式是在每个函数里打印记录进入函数和退出函数,但这样的代码只要一改动就很容易出错,可以利用RAII解决这类问原创 2022-05-27 10:18:23 · 154 阅读 · 0 评论 -
2022-05-24 QRemoteObject在CMake项目遇到的问题
文章目录前言问题解决方法总结前言Qt Remote Objects 是Qt官方推出的一个用于进程间通信(IPC)的模块,而且支持网络通讯。详细用法网络上很多,Qt官方手册也讲的很清楚,要学习用的话强烈建议去看官方手册,看手册完全可以搞明白。问题目前我这里还是使用的qt5.15.2版本,而且项目管理已由qmake转为cmake,但在cmake中遇到无法生成rep_***_source.h 的情况,下面记录问题产生的过程和解决方法。解决方法以下以commoninterface.rep 文件为例原创 2022-05-24 14:30:41 · 628 阅读 · 0 评论 -
2022-05-15 Qt QMdnsEngine 使用
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、下载QMdnsEngine二、使用步骤1.Provider 服务端的使用2.Browser 浏览端的使用3. 运行测试前言在开发中,可能会遇到需要寻找局域网可用主机的需求,或以搜索一下zeroconf关键字,做这一块的项目不多,但大多都需要用苹果的打印服务,而且在各个系统平台都没有一个统一的工具。当然也可以自己根据协议写一个,其实就是局域网内广播,本着有现成资源就用的原则,最后发现了 QMdnsEngine ,经.原创 2022-05-15 22:34:54 · 827 阅读 · 0 评论 -
2022-04-12 软件设计⽅法
软件设计⽅法包括1.模型驱动设计模型驱动设计是⼀种系统设计⽅法,强调通过绘制图形化系统模型描述系统的技术和实现。通常从模型驱动分析中开发的逻辑模型导出系统设计模型,最终,系统设计模型将作为构造和实现新系统的蓝图。2.结构化设计结构化设计是⼀种⾯向过程的系统设计技术,它将系统过程分解成⼀个容易实现和维护的计算机程序模块。把⼀个程序设计成⼀个⾃顶向下的模块层次,⼀个模块就是⼀组指令:⼀个程序⽚段、程序块、⼦程序或者⼦过程,这些模块⾃顶向下按照各种设计规则和设计指南进⾏开发,模块需要满⾜⾼度内聚和松散耦合原创 2022-04-12 19:32:39 · 348 阅读 · 0 评论 -
2022-04-08 QGC编译问题记录
记录在编译QGC时的问题记录。原创 2022-04-08 16:51:06 · 767 阅读 · 0 评论 -
2022-04-06 vscode中使用vim的两个小配置
习惯vim后发现离不开了在vscode中,我常配置的两个映射: "vim.insertModeKeyBindings": [ { "before": ["j", "j"], "after": ["<Esc>"] } ], "vim.normalModeKeyBindingsNonRecursive": [ { "before": [";"], "after": ["$","a",";"] }],原创 2022-04-06 18:59:40 · 2127 阅读 · 0 评论 -
2022-04-06 Qt UDP TCP 在线程下的一种写法
文章目录前言一、QTcpSocket二、QUdpSocket总结前言QTcpSocket QUdpSocket 在多线程里的其中一种方式代码分享说明一点:QTcpSocket QUdpSocket 都是基于 QAbstractSocket,都是异步调用,绝大多数据情况下是不需要使用多线程的,不会阻塞UI线程。看官方说明就得知,在线程中使用waitFor**系列的阻塞函数是最简单的通信方式,但Qt官方有个警告:注意:此函数在Windows上可能随机失败。如果您的软件要在Windows上运行,原创 2022-04-06 17:31:18 · 2673 阅读 · 0 评论 -
2022-05-20 Qt 编译时所依赖文件自动拷贝方案
文章目录前言一、QMAKE_POST_LINK二、利用qtcreatordata.pri三、使用cmake语法总结前言在qt 程序开发的时候,经常会需要在编译的同时将非Qt库放至输出目录,以减少手动复制文件的操作一、QMAKE_POST_LINK使用 QMAKE_POST_LINK 进行复制QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"SRC_DIR" \"DST_DIR\"使用放入pro文件或者pri文件中就可以了,但这个原创 2022-01-23 22:22:43 · 4015 阅读 · 0 评论 -
2022-01-14 版本号比较方法
文章目录前言内容前言在软件安装时,可能经常需要依赖其它软件,这时候会判断其它软件的版本号,判断版本号就成了个问题,一般版本就都是xx.xx.xx之类的。怎么判断呢,在Qt的版本判断里有个很好的案例内容看Qt代码main.cpp里第一名代码#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);#endif再去看下 QT_VE原创 2022-01-14 23:10:21 · 312 阅读 · 0 评论 -
2021-10-27 Qt QString arg() 使用过程遇到的问题
问题描述:有这样一段代码 QString s = QString("SELECT hash, type, x, y, zoom FROM TilesDownload WHERE setID = %1 AND state " "= 0 LIMIT %2") .arg(_task->setID(), _task->count()); LOG_DEBUG() <&原创 2021-10-27 17:19:52 · 717 阅读 · 0 评论 -
2021-10-16 使用coding进行持续集成Qt项目
文章目录前言一、准备工作二、思路二、使用步骤1.项目pro文件中需包含以下代码2. 在项目文件中添加几个bat文件3.新建构建节点4. 创建构建计划5. 开源示例代码总结前言对于一个Qt开发者来说,也想有一套适合自己的持续集成方案,查了很多资料后,发现有几种实现途径:在github上托管代码,使用action进行持续集成,这种方案应该是最简单的,有各种教程,也有很多现成的模板,拿来就可以用。自建git服务器,同是搭配jenkins来使用,可能很多小伙伴都是使用此方案,也这应该是许多公司常用的方案原创 2021-10-16 17:12:29 · 1256 阅读 · 0 评论 -
2021-09-07 获取qrc 资源文件下所有文件列表的方法
1. 使用QDir foreach (const QString& imageName, QDir(":").entryList()) { qDebug() << imageName; }2. 使用QDirIterator QDirIterator it(":", QDirIterator::Subdirectories); while (it.hasNext()) { qDebug() <原创 2021-09-07 18:15:28 · 652 阅读 · 0 评论 -
2021-08-23 自定义QWidget提升到主窗口后,qss设置不起作用
自定义QWidget后,在Design 里提升到窗口后,qss 式样不生效问题https://doc.qt.io/qt-5/stylesheet-reference.html自定义的QWidget ,需要添加以上代码…原创 2021-08-23 10:30:48 · 708 阅读 · 0 评论 -
2021-08-04 QML踩坑系列
前言此系列文章记录一些在使用QML过程中出现过的问题,并记录解决方案一、问题如何使用自定义qml组件,工程配置等二、解决过程自定义组件可存放于任意文件夹,如我有一个 ScreenTools.qml 组件ScreenTools.qmlpragma Singletonimport QtQuick 2.0Item { id:screenTools //默认字体像素高度和宽度 property real defaultFontPixelHeight:原创 2021-08-04 16:00:36 · 466 阅读 · 0 评论 -
2021-07-26 Sqlite3 建表时优化查询速度
Sqlite 建表时查询速度的优化:无意间测试到 UNIQUE 修饰字段查询速度会很快,和使用索引效果一样,找了半天资料没找到,最后在sqlite官方到说明 https://www.sqlite.org/lang_createtable.html下面是chrome翻译出来的,其实UNIQUE 带有索引属性,同样PRIMARY 也带索引属性要想优化查询速度,如果字段是值类型,特别是值类型,可以考虑使用主键或者唯一约束…同样有索引的速度,所有sql语句和这都一样,具有一样的特性,只是我在其它地方没有找原创 2021-07-26 20:44:32 · 990 阅读 · 0 评论