![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
QT
东方.既白
这个作者很懒,什么都没留下…
展开
-
QVector squeeze()
使用QVector mDataBuf 容器,使用append()函数或者resize()函数所占的内存过大,大概有两个G左右,每个条目运行完后mDataBuf.clear()后所占内存无变化。这是因为动态内存分配和释放是开销较大的操作,而且Qt的设计哲学之一是通过减少不必要的内存分配和释放来提高性能。,Qt 的内存管理器也可能决定保留一些额外的空间以供将来扩展使用,而不是立即将所有多余内存都归还给操作系统。的容量调整为与其当前大小(即元素数量)相匹配,从而可能释放一些不再需要的内存。原创 2024-07-09 17:33:18 · 168 阅读 · 0 评论 -
Cmake Learn
命令用于复制一个源文件到一个目标位置,并在复制的过程中替换源文件中的某些变量。命令用于指定一个目标(例如库或可执行文件)需要链接的库。这个命令将库添加到目标的链接器命令中,以便在构建目标时能够解析目标中的外部符号。命令用于向编译器添加包含目录,使得在编译源文件时可以找到所需的头文件。这通常用于指定项目中的头文件目录,或者是第三方库的头文件目录。这通常用于安装库、头文件、可执行文件等,以便其他项目或用户可以使用它们。是 CMake 中的一个命令,用于将子目录添加到构建过程中。文件,并执行其中的命令。原创 2024-04-28 17:13:40 · 910 阅读 · 0 评论 -
QT 最近使用的项目配置文件
这两个就是,要同步更改,不然会全部消失清空,可以把路径和DisplayNames去掉一个,最近打开的项目文件那里也相应的减少了一个。ProjectExplorer 下面的。原创 2024-03-27 09:28:26 · 710 阅读 · 0 评论 -
QT插件简单使用2
QT插件简单使用相比原来的增加了create函数的使用和Plugin.json的使用。原创 2024-03-18 16:31:17 · 472 阅读 · 0 评论 -
QTableWidget实现复制粘贴
(2)选择多个单元格复制,可进行同样多单元格粘贴,行列均可。该类继承了QTableWidget,代码较为简单。(1)选择一个单元格复制,可进行多个单元格粘贴。原创 2024-02-29 14:17:13 · 618 阅读 · 0 评论 -
回调函数应用场景
例如,将使用一个类,在图形场景中绘制一个正方形,并由W,A,S,D键控制。也就是说,它应该把这个类的函数作为它的 CallBack 函数。回调函数(Callback Function)是一种编程模式,其中一个函数(称为回调函数)作为参数传递给另一个函数,并在需要时被调用。你可以定义不同的回调函数来处理不同类型的事件,这些函数可以执行你需要的任何操作,比如更新屏幕上的内容、保存数据、启动动画等。• square.h - 其对象将使用 CallBack 函数的类的头文件。2 示例--图形用户界面回调。原创 2024-02-20 14:57:57 · 429 阅读 · 0 评论 -
QT假如有三个线程如何保证顺序执行
同样,当线程2完成后,它会释放sem3,这允许线程3开始执行。在这个例子中,QtConcurrent::run用于在一个新的线程中运行一个函数,它返回一个QFuture对象,你可以使用QFuture::waitForFinished来等待线程完成。这种方法的优点是它非常简单,但是它只适用于你需要按顺序执行的线程,并且每个线程只执行一次的情况。如果线程编号不匹配,线程会等待条件变量。这种方法的优点是它可以处理更复杂的线程同步问题,例如,当线程的执行顺序不是固定的,或者当线程需要等待多个条件时。原创 2024-01-28 16:58:08 · 663 阅读 · 0 评论 -
QT on_objName_clicked()信号与槽失效
没有Q_OBJECT不能使用信号与槽,主要用于实现 Qt 的元对象系统。Qt 的元对象系统提供了信号和槽的机制、属性系统以及事件系统。个人理解,QT在C++语言上面写的框架,信号与槽的使用用到了QT封装的Q_OBJECT QObject,这点和 UE4 中比较像,UE4中同样需要声明一个宏,同样是C++语言。这是我遇到的情况,多写了ui->setupUi(this);UI文件一个控件,点击转到槽,在槽函数中打印输出,没有输出。原创 2024-01-25 15:55:56 · 566 阅读 · 0 评论 -
Qt C++ 调用Python 打包EXE
实现:点击按钮,调用Python文件,生成一个压缩文件,证明调用成功。原创 2024-01-15 15:39:36 · 562 阅读 · 0 评论 -
2D绘图--视口窗口setViewport setWindow
(1)视口定义显示区域,和setWindow窗口有一定的映射关系,设置好窗口的坐标系后,后续绘制就按照窗口坐标系绘制即可(2)可以通过先设置视口,再设置对应的窗口的方法,可以准确地显示在不同的绘图设备界面上。原创 2024-01-11 14:50:21 · 488 阅读 · 0 评论 -
2D绘图之坐标系统--错切shear()
在平面R2 =Rx R上,水平错切(或平行于X轴的错切)是一个将任一点(x,y)映射到点(x+my,y)的操作,m是固定参数,称为错切因子。所以上面的最终点的位置应是(50,50+0.5*50) (50+0.5*50,50) (75,75)错切是在某方向上,按照一定的比例对图形的每个点到某条平行于该方向的直线的有向距离做放缩得到的。原来竖直的线则变成斜率为1\m的斜线.原创 2024-01-10 14:13:22 · 435 阅读 · 0 评论 -
QT多线程通信
在主函数中,我们创建了两个线程,一个执行waitForData()函数,另一个执行sendData()函数,从而实现多线程的同步。总的来说,QFutureWatcher是一个功能强大的类,允许我们方便地监视和处理异步任务的结果。通过连接适当的信号和槽函数,我们可以灵活地处理异步操作的状态和结果,从而提高程序的响应性和性能。总的来说,QFuture是一个强大的类,提供了对异步操作结果的访问和监视功能。通过使用QFuture,你可以更好地管理异步操作的流程和状态,并避免阻塞主线程,从而提高程序的性能和响应性。原创 2024-01-09 17:45:32 · 1114 阅读 · 0 评论 -
QT 简单连接WIFI模块
这一部分是使用命令连接对应的WIFI ,cmd_password 是设置的密码,cmd_connect应是连接相应的WIFI,此处是使用代码连接WIFI 若手动连接 可以将这部分注释掉。经过调试发现 若为代码连接WIFI 此处需要加上1秒的延时 若为手动连接WIFI 可注释掉。此处进行连接 等待超时时间2秒。原创 2024-01-05 13:30:43 · 1299 阅读 · 0 评论 -
Qt 大小端转换函数qFromBigEndian qFromLittleEndian
从小字节顺序转换src,并返回该数字的主机字节顺序表示形式。在主机字节顺序为大端序的CPU架构上(例如PowerPC),这将返回字节顺序交换的src;否则它将返回未修改的SRC。从大端字节顺序转换src并返回该数字的主机字节顺序表示形式。在主机字节顺序为小端序的CPU架构上(例如x86),这将返回字节顺序交换的src;否则它将返回未修改的SRC。原创 2023-11-30 10:30:08 · 1910 阅读 · 0 评论 -
QString
下面是toInt()函数的内部实现源码。原创 2023-11-29 15:09:02 · 413 阅读 · 0 评论 -
QCustomPlot添加标题头
【代码】QCustomPlot添加标题头。原创 2023-10-20 17:35:04 · 768 阅读 · 0 评论 -
QFile读取无符号类型数据unsigned char
QFile readAll 返回值类型QByteArray为char类型,需要做以下的转换。原创 2023-10-19 15:00:48 · 144 阅读 · 0 评论 -
QCustomPlot单多坐标系显示
1 可进行单坐标系多坐标系的切换2点击QTableWidget的checkbox可以控制坐标系的数量并显示相应的曲线3 在多坐标系中显示游标4 更改曲线的颜色5 坐标系X轴同步 6 曲线的放大缩小、左右移动、上下移动7 创建单X轴多Y轴坐标系原创 2023-09-13 17:38:22 · 3219 阅读 · 6 评论 -
QML与C++交互
QML与C++交互 1 QML获取C++的变量值2 QML获取C++创建的自定义对象3 QML发送信号绑定C++端的槽4 C++端发送信号绑定qml端槽5 C++调用QML端函数原创 2023-08-12 16:50:04 · 568 阅读 · 0 评论 -
DBC解析中文乱码
ZDBC_GetMessageById DBC解析中文乱码原创 2023-08-14 11:32:43 · 511 阅读 · 0 评论 -
QTableWidget自动换行
1 setWordWrap()方法将文本内容在指定的单词处换行。不要插入一行就调用,界面会卡死。2 全部插入单元格后调用。原创 2023-06-14 09:44:26 · 2184 阅读 · 1 评论 -
QT内嵌汇编cpuid
执行cpuid指令后,返回值寄存器(eax、ebx、ecx、edx)的值会被更新,这些值可以被存储到内存中或进一步处理。这些寄存器的值可以被存储到内存中或进一步处理,例如通过循环来遍历所有可用的CPUID值,或者通过cmp指令来比较不同的CPUID值。这段汇编代码使用了GCC的内联汇编语法,实现了执行CPUID指令并将结果存储在数组s中的功能。QT 5.7 msvc 编译器可直接运行下面的汇编。上面的代码是QT 5.12 mingw 编译器。原创 2023-05-22 15:54:04 · 482 阅读 · 0 评论 -
Github上的一些高分Qt开源项目
本文转载自。转载 2023-05-21 13:38:46 · 1910 阅读 · 0 评论 -
回调函数和this指针
在Qt中传数据,我们使用了一个信号和槽系统,但这并不意味着不能使用旧的经过验证的方法,即使用 CallBack功能。事实上使用 CallBack 功能比信号和槽要快一些。并且当发送信号的对象在程序中被销毁并且不再使用时,就信号理想地从槽中分离而言,回调可以更容易使用。转载 2023-05-11 15:41:20 · 279 阅读 · 0 评论 -
QThreadPool
线程池原创 2023-04-27 16:14:51 · 227 阅读 · 0 评论 -
Qt 3D Simple C++ Example
Qt 3D Simple C++ Example主要添加了中文注释,XYZ轴,和材质颜色。原创 2023-04-24 15:35:35 · 241 阅读 · 0 评论 -
QDataStream写入二进制文件问题
使用Beyond Compare 软件对比二进制文件,发现不一样的地方换行了。QDataStream原创 2023-04-11 18:16:01 · 253 阅读 · 0 评论 -
QDialog QTableView重写鼠标事件不响应
在此示例中,MyWidget是一个包含QTableView的窗口部件。如果是,则获取鼠标位置并使用indexAt函数获取与该位置对应的模型索引。QPoint参数,该参数表示鼠标点击的位置。它返回一个QModelIndex对象,该对象表示与该位置对应的模型索引。为了将鼠标坐标转换为tableView的索引,您可以使用QTableView的indexAt函数。子窗口中有QTableView的控件,想要让QTableView获取鼠标点击事件,进行相应的处理。(3)选择多行后再次点击空白处,怎样不被选择。原创 2023-03-29 18:00:47 · 589 阅读 · 0 评论 -
addDockWidget QDockWidget 确定当前窗口
在槽中作一些处理 注意窗口不能拖出来 拖出来检测不到。使用addDockWidget添加窗口。怎样确定当前选择的窗口?使用信号和槽连接可以解决。显示的返回值一致 失败。原创 2023-03-16 18:01:25 · 294 阅读 · 0 评论 -
QT HTTPS 代码登陆SVN
已知自己的SVN账号密码,在QT中使用代码登陆SVN,可以下载需要的文件如ZIP压缩包。QT 需要支持OpenSSL 网上有相关配置教程。服务器反馈如下,说明已经登入成功。原创 2023-02-24 13:20:20 · 242 阅读 · 0 评论 -
QT HTTP 网页登陆 下载文件
该软件为检测升级软件,通过HTTP获取服务器的文件,实现下载功能。检测到新版本,说明软件内部实现已经成功登录服务器,进行文件读取并与本地版本的对比,点击立即下载可以下载成功并解压安装!其中UNAME=%D0%EC%BF%A1%BA%C6&PASSWORD=是账号密码,添加到相应的网址后面,使用postman 模拟登陆。再使用postman模拟get 下图为服务器的响应 可以看出已经进入系统 可以使用QT实现了。2) 打开浏览器 输入网址 输入账号密码 点击登陆。获取响应的Cookies,在下载文件中使用。原创 2023-02-17 15:28:58 · 477 阅读 · 0 评论 -
OPENCV 人脸识别
OPENCV 人脸识别原创 2022-12-15 17:39:06 · 163 阅读 · 0 评论 -
Qt批量添加动态库dll
QT一次性添加多个动态库文件。此文件夹下有很多DLL文件。原创 2022-12-12 18:27:02 · 1182 阅读 · 0 评论 -
QT + OPENCV + OpenCV_contrib + MINGW编译
"OPENCV_EXTRA_MODULES_PATH"路径选择 E:\opencv-4.5.1_build\opencv_contrib-4.5.1\modules。系统环境变量PATH添加 E:\Qt\Qt5.12.6\Tools\mingw730_64\bin 根据QT选择路径。E:\opencv-4.5.1_build\OpenCV_Build\install路径下生成。9 打开E:\opencv-4.5.5_build\OpenCV_Build 目的路径。原创 2022-12-12 17:20:49 · 1215 阅读 · 0 评论 -
FFmpeg + QT配置
需要注意的是 下图我使用的编译器是GCC64位 如果是MSVC静态库路径包含的应该是lib路径下的后缀为 .lib的静态库文件。lib 里面存放着静态库 包括GCC编译器需要的 .a 和MSVC编译器需要的 .lib。2 拷贝 bin include lib 三个文件夹到QT项目路径下。其中 bin 里面存放着动态库dll和EXE程序。其中头文件需要 extern "C"包含。1 新建一个最简单的QT窗体应用程序。3 QT项目 Pro文件中添加路径。即完成了FFmpeg库的加载。原创 2022-11-25 10:32:29 · 532 阅读 · 0 评论 -
QT QVector 转换 byte*内存崩溃
【代码】QT QVector 转换 byte*内存崩溃。原创 2022-11-18 11:53:39 · 193 阅读 · 0 评论 -
QT学习笔记
1 QT报错 C2134 语法错误 缺少;(在 * 的前面)(1)头文件A.H和B.H无限循环引用(2)需前置声明类(class xxx;)2 C2146 缺少; (标识符xxx的前面)(1)定义的变量没有使用,删除即可(2)将报错的头文件没有使用删除3 不同文件中获取值得方法1 上行转换2 定义类变量传递3 信号右元4 VS中简单helloWord程序出错 找不到XXX_lib文件项目——》属性——》VC++目录——》库目录中...原创 2022-03-02 10:56:19 · 718 阅读 · 0 评论 -
QT release程序运行,CMD窗口 消除/添加 办法
注释掉.pro中 QT += concurrent testlib原创 2022-01-26 11:28:54 · 1593 阅读 · 0 评论 -
QTextStream写文件中文乱码
QTextStream写文件中文乱码原创 2022-07-25 14:51:37 · 815 阅读 · 0 评论 -
Qt表格assert width > 0.0 in file painting\qrasterizer.cpp line 761
断言 width > 0.0 失败即出现 width 小于等于零的情况(1)需仔细检查程序 NaN出现浮点数溢出 除0 值小于0等情况 更正程序(2)QT chart 坐标X/Y轴出现了小于等于0的数值仔细检查自己的程序是否出现上面的错误...原创 2022-01-26 11:38:07 · 839 阅读 · 0 评论