![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Qt
so cute~
超自然祈祷
让计算机成为我们的左膀右臂
--searching for what I need in the world
展开
-
qt项目pro文件配置备忘
元编程编译moc中间文件存储路径设置UI_DIRRCC_DIROBJECTS_DIRMOC_DIR目标文件存储路径(要放到与动态库同目录)DESTDIR当前pro路径的符号$$PWD. (一个英文点)上级目录… (两个英文点)/(目录层级)\(下一行还是同行)动态库依赖设置LIBS +=设置动态库目录-L动态库目录(L后面不能有空格)例如(-L$$PWD/bin )动态库点名-l动态库名例如名为libxml.so的动态库,设置时为(-lxml)...原创 2021-01-13 10:19:44 · 315 阅读 · 1 评论 -
qt反序列化到一定数量就错了
这两天犯了2个伞兵问题,昨天是一天弄槽函数为什么不触发,结果是被movetothread后那个线程没启动今天的半天是qdadastream序列化qbytearray再反序列化回去,debug显示序号超过231内容就是错的,原因是序列化后输出的qfile.open是QIODevice::WriteOnly,结果反序列化读取的时候条件是QIODevice::ReadOnly|QIODevice::Text。用二进制写但是用字符读取导致换行符的地方的内容不一致,再解包回结构体就乱了(qfile文件读取之前我也犯原创 2021-09-03 18:11:15 · 212 阅读 · 0 评论 -
qt4的toUtf8()函数,在gbk转utf8会吞字!!!
中文gbk 用utf8显示是黑色菱形问号接上一步,按照utf8保存,再用gbk显示,全是“锟斤拷”最好还是用utf8吧,至少utf8转gbk不会吞字……原创 2021-02-02 17:07:14 · 394 阅读 · 0 评论 -
qt5 linux 在creator和编译后的软件的中文输入法问题——libfcitxplatforminputcontextptugin动态库
本人工作需要在麒麟Linux上用qt5编译能输入中文的软件,昨天找了一天解决了。大概是搜狗输入法基于fcitx输入法框架,qt的动态库中需要支持这个框架的插件动态库。由于qt版本不一样,需要高版本自己下载源码编译,将编译后的动态库放入指定位置即可。编译过程:安装好cmake下载、解压源码fcitx-qt5安装ECM extra-cmake-modules_1.4.0.orig.tar (编译+install)、安装fcitx-Libs-dev(配置好源,apt-get命令)按顺序输入:expo原创 2021-03-24 09:41:05 · 513 阅读 · 1 评论 -
qt中文编码乱码小结
1-在main函数中的“那三句”是用什么编码读取源码文件进行编译在qt creator 下方的输出界面是以UTF-8编码格式进行展示的GBK是2字节一个汉字,UTF-8是3个字节表示1个汉字2-GBK转UTF-8时(qt自带的函数)可能会“吞字”!(sql有中文的就GG了)char*是基础的数据格式用起来要小心一点,不要空指针越界;还有const char*的麻烦。3-源文件的编码格式也是影响因素之一可以用函数按编码格式读取后统一转UNCODE再按类型输出(如下)将“那三句”原创 2022-01-20 22:47:35 · 633 阅读 · 0 评论 -
Qt-excel文件操作方法
转载自:https://www.techieliang.com/2017/11/464/Qt-QAxObjectQAxObject是Qt提供的包装COM组件的类,通过COM操作Excel需要使用QAxObject类,使用此类还需要在pro文件增加“QT += axcontainer”QAxObject的具体说明请见帮助文档与excel com连接的方法#include <QAxOb...转载 2018-12-24 21:25:16 · 1322 阅读 · 3 评论 -
qt4递归删除文件夹
//qt4递归删除文件夹bool removeDir(const QString &dirname){ bool ret = true; QDir dir(dirname); if(dir.exists(dirname)){ QFileInfoList infolist = dir.entryInfoList(); for(int i=0;i<infolist.count();i++) { .原创 2021-10-11 14:12:14 · 309 阅读 · 0 评论 -
qt 多线程的一种常用套路笔记
基础不牢,地动山摇。尤其编程哪怕是个小错也可能编译不过,还有很多不熟悉的东西容易想当然。Qthread::movetothread并非是将a实例相关的所有的工作“移动”到了m_thread线程,而是将所有a实例相关的事件托管到m_thread线程执行这句话摘自:简单说说对QT中moveToThread实现多线程操作的理解常用套路是1.将占用循环的函数放到一个自定义类class Myoutput : public QObject{ Q_OBJECTpublic: explici原创 2021-04-23 00:08:35 · 96 阅读 · 0 评论 -
Qt绘制图形的交、并、补
记录解决qt绘制图形时图形交并补的问题原创 2023-02-17 23:26:52 · 1079 阅读 · 0 评论 -
Qt c++项目结构一些坑记录
.h.cpp.ui删除构建文件(.moc这些 元对象编译器)信号槽修改(重命名控件后注意删除头文件里的槽函数声明)c++的编译问题(模板函数只能写在头文件).pro文件的设置(动态库debug版本)原创 2020-12-28 23:18:47 · 228 阅读 · 0 评论 -
QT代理Delegate记录
看Qt4那本书看到感觉【委托--代理】很高大上,一直没试过,最近有时间了搜了一下试了试,原来挺简单的,就是继承实现几个虚函数,然后将表格设置此代理即可触发。spinboxdelegate.h#ifndef SPINBOXDELEGATE_H#define SPINBOXDELEGATE_H#include <QStyledItemDelegate>class SpinBoxDelegate : public QStyledItemDelegate{ Q_OBJECT原创 2022-01-16 22:52:53 · 413 阅读 · 0 评论 -
Qt 模块化开发之 pro 子项目开发
在一个项目中将各个功能的界面保存在其自己的模块中的方式原创 2022-02-24 23:19:11 · 3655 阅读 · 0 评论 -
Qt序列化基本类型结构体的简单方式
平时用序列化都是一个个顺序地写<<这种符号遍历一遍所有变量,但当我工作中经常使用整坨结构体的内存的操作时发现可以直接将结构体的首地址+sizeof得出的长度整体进行memcpy来复制,于是就不用再对每个细节成员进行序列化与反序列化的实现了。前提是结构体成员均为基本类型,也就是占用内存长度是确定的;还有不能为类,否则会导致memset初始化时操作了虚函数表的内存导致崩溃。1.序列化的输入输出流的实现typedef struct{ int a; char b;原创 2022-03-03 23:55:50 · 1600 阅读 · 2 评论 -
qt json tree 读取json树状结构并显示
实现了一个以递归方式读取任意json内容并显示在树状目录的控件类原创 2023-01-22 01:01:45 · 2461 阅读 · 0 评论 -
Qt QWidget嵌套相对位置获取 (qt 画线 嵌套)
使用函数QPoint QWidget::mapToGlobal(const QPoint &pos)的例子原创 2022-06-17 22:15:47 · 937 阅读 · 0 评论 -
Qt自定义控件(IP输入框,windows下)
1.建立自定义控件项目剩下的点“下一步”就行了2.编辑代码在生成项目的cpp中添加自己的内容(没有.ui界面了,设计tab是灰色的)放一下我的代码3.构建(注意,因为没有main函数和主程序,所以无法运行,构建出动态库就是目的)release模式编译gou'ji在编译后的运行目录下,用控制台命令运行make install这样他会默认的将控件安装到所在版本的plugin/designer中是一个.so文件(linux下)4....原创 2022-02-20 22:56:21 · 3415 阅读 · 0 评论 -
vs要写“QT+=”时该怎么办
vs写qt入门请参照,这里不再赘述:https://blog.csdn.net/qq_33154343/article/details/78587699↑一定要跟着上面的链接先安装上 Qt VS Tools。 ——今天一上午本来说棒发小写个管理试验位置的小系统,考虑到他们根本不安装数据库就试着查了查能不能存到excel里,结果需要用到QAxObject……,vs里还没有qtcreato...原创 2018-12-09 15:33:45 · 1544 阅读 · 0 评论