Qt
没有啥的昵称
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
linux下用QLibrary载入动态库
测试动态库也是用Qt Creator生成的,也放到运行路径下了。想不明白,只能用绝对路径了,但是代码增加了一些,总感觉不太好。后来突然想起来,Linux下都是用"./a.out" 运行程序的。在做代码移植到Ubuntu上的时候把dll改成so,但是发现,动态库都不能载入了。在win下用QLibrary 载入动态库并不难,代码如下。没写对,导致无法载入动态库,这个也是要注意的。期间还犯了一个错误,代码里面的动态库名称。原创 2025-12-30 22:38:29 · 201 阅读 · 0 评论 -
Qt只启动一个exe的QSingleApplication
QSingleApplication是Qt提供的一种实现单实例应用程序的解决方案,通过QLocalServer和QLocalSocket实现进程间通信。当第二次启动程序时,会检测到已有实例运行并传递参数到现有实例,然后自动退出。主要实现步骤包括:1) 检查本地服务器连接状态;2) 若连接失败则创建新服务器;3) 处理新的连接请求。使用时只需替换QApplication为QSingleApplication,并通过isRunning()判断是否已有实例运行。该方法可以有效避免程序多开问题,同时支持参数传递功能原创 2025-06-17 08:48:10 · 287 阅读 · 0 评论 -
QTableWidget处理表格左上角的QSS
表格QTableWidget的左上角qss处理背景原创 2025-01-10 08:52:25 · 400 阅读 · 0 评论 -
VTK学习笔记(二十二)某点投影到某个平面上
又搜索资料找到vtkTransform中的TransformDoubleVector。这个对于目前来说还比较好,确实知道它的旋转矩阵,可是调用它一定要注意,不要连续多次,否则只保存最后一次的计算结果。如果不提前把结果取出,后续就会有错误。一直以为用vtkPlane中的ProjectPoint这个最好,不过由于我这里涉及到重新创建平面的过程,反倒不好。最近搞VTK平面旋转+平移,然后计算点投影到平面上的坐标,没人交流还是费劲啊,过程不说了。原创 2024-12-13 09:47:40 · 466 阅读 · 0 评论 -
Qdebug输出浮点数指定位数
qDebug() 直接输出浮点数,有时候小数位数满足不了,常常需要转换,因此记录一下这个。原创 2024-07-15 09:45:39 · 1012 阅读 · 0 评论 -
Win上编写ROS程序遇到的问题---- 无法解析的外部符号 “bool ros::console::g_initialized“
无法解析的外部符号 "bool ros::console::g_initialized"原创 2023-11-06 13:25:22 · 376 阅读 · 0 评论 -
undefined reference to `__imp_glRotatef‘
undefined reference to `__imp_glRotatef'原创 2022-07-14 17:04:14 · 319 阅读 · 0 评论 -
VTK学习笔记(十三) 画点,画曲线,画柱状图
通常来说,各种线图,柱状图是常用的,VTK也提供了方便的绘制方法。原创 2022-06-12 15:01:54 · 3454 阅读 · 4 评论 -
Qt for webassembly编译报错initial memory too small
最近测试Qt中的Webassembly,简单的程序就开始报错。wasm-ld: error: initial memory too small, 22547232 bytes needed第一次遇到内存太小的报错,太奇怪了,搜了一下发下可以设置QMAKE_LFLAGS += -s TOTAL_MEMORY=33554432比提示的大一些就可以,然后就ok了。...原创 2022-05-29 13:46:42 · 628 阅读 · 1 评论 -
VTK学习笔记(十一)高亮拾取点
最基础的物体还是点, 看看如何给点进行拾取并高亮。 想要拾取,先要激活窗口,然后按下字母'r',然后用鼠标进行选择,选择后就输出结果。如图所示。代码如下#include <vtkActor.h>#include <vtkAreaPicker.h>#include <vtkDataSetMapper.h>#include <vtkDataSetSurfaceFilter.h>#include <vtkExtractGeometry..原创 2022-04-30 12:38:29 · 1914 阅读 · 0 评论 -
VTK学习笔记(十)高亮拾取
三维,肯定是要进行交互的,鼠标点击(拾取)操作是常规的,有很多方式可以实现。下面例子通过继承vtkInteractorStyleTrackballCamera很好的实现了鼠标点击拾取。交互内容都在函数OnLeftButtonDown中,还是看看具体代码吧。#include <vtkActor.h>#include <vtkInteractorStyleTrackballCamera.h>#include <vtkMinimalStandardRandomSeque原创 2022-04-25 22:54:15 · 1193 阅读 · 0 评论 -
第六章 使用QSKIP跳过测试
在测试函数中使用QSKIP(描述)如果从测试函数调用QSKIP()宏,它将停止测试的执行,而不会向测试日志中添加失败。它可以用来跳过肯定会失败的测试。QSKIP描述参数中的文本被追加到测试日志中,并解释为什么没有执行测试。当实现尚未完成或在某个平台上不受支持时,可以使用QSKIP跳过测试。当已知失败时,建议使用QEXPECT_FAIL,这样测试总是会被完全执行。QSKIP在测试函数中的例子:if (tst_Databases::getMySqlVersion(db).section(QCh原创 2022-04-02 13:57:53 · 282 阅读 · 0 评论 -
第五章 编写基准测试
如何编写基准测试。在最后一章中,我们将演示如何使用Qt Test编写基准测试。写一个基准为了创建基准测试,我们使用QBENCHMARK宏扩展测试函数。基准测试函数通常由设置代码和一个QBENCHMARK宏组成,该宏包含要测量的代码。这个测试函数对QString::localeAwareCompare()进行基准测试。void TestBenchmark::simple(){ QString str1 = QLatin1String("This is a test string")原创 2022-04-02 13:55:56 · 363 阅读 · 0 评论 -
第四章 复现GUI事件
如何复现GUI事件。 (replay,有翻译重播,重现,我和测试之间经常说的是复现,就翻译成这个了)在本章中,我们将展示如何模拟GUI事件,以及如何存储一系列GUI事件,并在一个小部件上复现它们。存储一系列事件并复现它们的方法与第2章中解释的方法非常相似。你需要做的就是在你的测试类中添加一个数据函数:class TestGui: public QObject{ Q_OBJECTprivate slots: void testGui_data(); void te.原创 2022-04-01 11:15:18 · 925 阅读 · 0 评论 -
第三章 模拟GUI事件
模拟GUI事件。Qt Test提供了一些测试图形用户界面的机制。Qt Test发送内部Qt事件,而不是模拟本机窗口系统事件。这意味着在运行测试的机器上没有副作用。在本章中,我们将看到如何编写一个简单的GUI测试。编写GUI测试这一次,让我们假设您想测试QLineEdit类的行为。和前面一样,你需要一个包含测试函数的类:#include <QtWidgets>#include <QtTest/QtTest>class TestGui: public QObj原创 2022-03-31 09:35:44 · 413 阅读 · 0 评论 -
第二章 数据驱动测试
如何创建数据驱动的测试。在本章中,我们将演示如何使用不同的测试数据多次执行一个测试。到目前为止,我们已经将想要测试的数据硬编码到测试函数中。如果我们添加更多的测试数据,函数可能是这样的:QCOMPARE(QString("hello").toUpper(), QString("HELLO"));QCOMPARE(QString("Hello").toUpper(), QString("HELLO"));QCOMPARE(QString("HellO").toUpper(), QString原创 2022-03-29 07:47:43 · 490 阅读 · 0 评论 -
第一章 编写单元测试
如何编写单元测试。在第一章中,我们将看到如何为一个类编写一个简单的单元测试,以及如何执行它。编写一个测试让我们假设你想测试我们的QString类的行为。首先,您需要一个包含测试函数的类。这个类必须继承自QObjet#include <QtTest/QtTest>class TestQString: public QObject{ Q_OBJECTprivate slots: void toUpper();};注意:您需要包含QTest头文件,并将测原创 2022-03-20 07:33:02 · 318 阅读 · 0 评论 -
VTK学习笔记(九)vtkDiskSource
vtkDiskSource对象创建一个中间有孔的多边形磁盘。磁盘高度为零。用户可以指定圆盘的内外半径,以及多边形表示的径向和周向分辨率。#include <vtkActor.h>#include <vtkDiskSource.h>#include <vtkNamedColors.h>#include <vtkPolyDataMapper.h>#include <vtkProperty.h>#include <vtkRend原创 2022-03-15 16:51:49 · 812 阅读 · 0 评论 -
VTK学习笔记(八)vtkVectorText和vtkFollower的用法
这个例子演示了vtkVectorText和vtkFollower的用法。vtkVectorText用于创建3D标注。vtkFollower用于定位3D文本,并确保文本始终面向渲染器的活动摄像机(即文本始终是可读的),文字始终面向一个固定的视角,也就是三维空间内其他物体怎么变都可以,但是文字的朝向不变。#include <vtkActor.h>#include <vtkAxes.h>#include <vtkCamera.h>#include <vtk原创 2022-01-29 15:49:51 · 2062 阅读 · 0 评论 -
VTK 学习笔记(七)ShareCameraQt
ShareCameraQt 演示了如何让另外一个窗口与第一个窗口共享一样的摄像机视角,关键代码如下#if VTK890 this->ui->qvtkWidgetLeft->renderWindow()->AddObserver(vtkCommand::ModifiedEvent, this, &ShareCameraQt::ModifiedHandler);#else this->ui->qvtkWidgetLeft->GetRender原创 2022-01-23 14:38:25 · 707 阅读 · 0 评论 -
segfault libc-2.23.so
奇怪的错误,链接了一个库,测试小程序运行的好好的,然后把代码放到一个ROS大项目中就崩溃了,出现了下面的错误。segfault at f63d4e2e ip 00007f1738b54264 sp 00007ffce54d6488 error 4 in libc-2.23.so[7f1738a06000+1c0000] 于是精简代码,不断减少还是有问题,最后只剩下声明变量,还是报这个错误,哎!!!! 编译生成.o文件成功,cpp上加入库的头文件成功,链接这...原创 2021-11-20 13:24:34 · 810 阅读 · 0 评论 -
在windows下,Qt下编译MLT7遇到的问题undefined reference to SDL_PollEvent
在windows下,Qt下编译MTL遇到的问题undefined reference to `SDL_PollEvent'最近在Qt的mingw环境下编译MLT框架,遇到个小问题。D:\mlt-7.0.1\Build>mingw32-make[ 17%] Built target mlt[ 17%] Linking C executable ..\..\out\melt.exeCMakeFiles\melt.dir/objects.a(melt.c.obj):melt.c:(.text原创 2021-10-23 10:00:40 · 1509 阅读 · 0 评论 -
Qt在UI上拖拽的Line是什么类
一直都是在UI上用,今天需要写代码,没找到这个对应的类。看了看原来项目生成的ui***.h,发现起始挺简单。 主要是最后两行。 line = new QFrame(groupBox_2); line->setObjectName(QStringLiteral(line)); line->setMinimumSize(QSize(0, 50)); line->setFrameShape(QFrame::HLine);原创 2021-09-03 10:52:23 · 360 阅读 · 0 评论 -
用Qt的MinGW编译VTK9.0.1
1 用CMAKE-gui创建编译配置2 打开Qt的命令行工具进行编译输入命令ming32-make问题1 在vtkGenericDataArray和vtkDataArray这两个cxx文件编译时都会出现会出too many sections 的错误提示参考https://www.cnblogs.com/yangzifb/p/11486238.html 把文件进行拆分,VTK9似乎与8有点不一样,对vtkDataArray如此处理还是有问题。我都拆分出1和2了还是报同样的错,最原创 2021-07-13 16:09:56 · 2624 阅读 · 19 评论 -
Qt5虚拟键盘编译后如何安装到开发板上
仅以过去用过的IMX.6为例,运行操作系统是Linux一类的zhu'ji1、将主机/opt/fsl-imx-x11/4.1.15-2.0.1/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/lib/qt5/plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so拷贝至设备/usr/lib/qt5/plugins/platforminputcontexts目录下;2、将主机/opt/fsl-原创 2021-06-11 07:37:33 · 992 阅读 · 0 评论 -
Qt5中文乱码的处理
和别的系统对接,发现对方给的中文到我这边都是妥妥的乱码。仔细查了一下,对方的编码不是utf8。只能转成十六进制看出来是中文。 比如“帕”这个字,得到的字串是“C5C1”。没办法只好转转一下了。当然还能优化。先处理到这里再说。 QTextCodec* utf8Codec= QTextCodec::codecForName("utf-8"); QTextCodec*...原创 2018-07-12 08:56:10 · 535 阅读 · 1 评论 -
Qt 报表CuteReport
为了工作使用,简单翻译了CuteReport,发现看英文还是容易忽略细节,看到了很多有趣的东西。看来还是要仔细看文档,不要为了工作而减少看文档的时间。可以去这里下载https://download.youkuaiyun.com/download/yxmlhc/10787010...原创 2018-11-15 16:23:27 · 2080 阅读 · 0 评论 -
Qt可执行程序及动态库等写入版本信息
添加版本信息时,参考类似的文章,给自己的exe和动态库都加上了版本号。https://www.cnblogs.com/Braveliu/p/4506844.html rc文件如下IDI_ICON1 ICON "version.ico"#if defined(UNDER_CE)#include <winbase.h>#else#include <winv...原创 2019-12-12 23:55:25 · 1287 阅读 · 2 评论 -
QLineunitVector New line does not have unit length 的解决
尝试用QChart的 setAnimationOptions(QChart::SeriesAnimations)出现了一个小问题,无论如何没有动画出现,查看QtCreator自己的输出发现。原来好好的静态图突然出现了 QLineunitVector New line does not have unit length 的报错。经过一番排除发现问题所在。ui->graphic...原创 2020-01-01 19:51:43 · 1980 阅读 · 0 评论 -
cryptopp820在QtCreator下的编译
官网 https://www.cryptopp.com/release820.html 下载了Crypto++ 8.2编译过程还是比较麻烦的。直接在QtCreator中是不能编译,但是参考1给出了生成pro的方式,用Qt提供的命令行工具进行下面的操作。看你安装的Qt编译器是MinGW还是VS版了。cd \cryptopp820qmake -project它介绍2、3 操作我没...原创 2020-01-22 15:32:32 · 2458 阅读 · 5 评论 -
Qt编写多线程动态库遇到的QEventLoop: Cannot be used without QApplication
最近把做的东西封装了一下,写成一个动态库,在Qt的应用中测试很好,跑起来没问题。但是用其他语言调用时出了一个意外,总是输出QEventLoop: Cannot be used without QApplication。究其原因是用了QEventLoop,但是其他语言写的应用程序没有启动QApplication中的exec()。这样就会有这个问题。 看了源代码,查了一些资料,确实躲不开这个事件循环的启动,又不想重新写一编功能。在网上不断找资料(无法google-你懂的),baidu...原创 2020-10-30 10:23:18 · 7658 阅读 · 12 评论
分享