自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 为什么类的成员函数不能直接作为回调函数,而需要用std::bind构造一个新函数?

成员函数不是“自由函数”,它隐式地需要一个 this 指针才能执行。而任何回调接口(如 std::function<void()>、Qt 的 signal/slot、线程入口等)在类型签名上只描述“需要哪些参数”,却永远不会把“哪个对象”也当作参数传进去。因此必须把 “this 是谁” 提前绑定到那个函数上,让接口看到的最终是一个无参(或只剩真正业务参数)的可调用体——这一步就是 std::bind(或 lambda 捕获)做的。

2025-11-05 16:57:44 64

原创 在Windows里用Qt6编写ROS2节点的注意点

2025-11-04 22:51:55 200

原创 Qt中QAbstractEventDispatcher的processEvent和QEventLoop的processEvent有什么区别

直接和平台相关的事件机制打交道(如 Windows 的消息循环、X11 的事件等)。,但还会做一些额外的逻辑,比如处理退出标志、事件循环状态等。,它内部会调用当前线程的。来完成实际的事件分发。

2025-10-14 20:08:24 100

原创 Qt中通过ODBC查询Sql Server数据库时,读取内容错误问题

Qt库通过ODBC查询数据库时(驱动为Sql Server),在大部分电脑上都是好的,唯独在一台电脑上出现查询数据返回随机数问题(查询的字段类型为INT),经过一番折腾后确定是数据库驱动问题,换成。Sql Server驱动是比较老的驱动程序,

2025-10-14 19:52:19 114

原创 Eigen库中Transform的Affine模式和Isometry模式的区别

因此,通过Transform计算相应的四元数时,对于Affine模式的变换只能用rotation()构造(linear中包含旋转,缩放,裁剪等操作),而Isometry模式的变换可以用linear。仿射变换包含平移、旋转、缩放和错切(Shear)操作,能够组合使用这些变换。其核心特征是保持直线平行性,即变换后物体的形状和方向改变,但物体间的相对位置关系不变。只包含旋转和平移操作。

2025-10-14 19:29:18 85

原创 QML中属性绑定后页面的刷新机制

下面把“谁通知、谁监听、谁重绘”三个环节拆开说明。主线程把这一帧里所有标记为 dirty 的绑定。场景图拿到新的几何/材质/变换矩阵,生成。,进而触发 Qt Quick 场景图的。渲染线程(OpenGL/RHI)执行。(不是立即求值,避免高频抖动)。在 QML 中,属性一旦绑定,)在 C++ 侧已经预埋好的。刷新与重绘(谁来真正刷新界面)把当前绑定表达式封装成一个。引擎把 dirty 绑定放进。),场景图线程会锁定主线程;记录到一张“依赖表”里;变更通知(什么时候触发)依赖登记(谁来监听)

2025-10-14 09:59:27 303

原创 QML中Context层级结构特点

每个 QML 组件实例化时,系统会为其创建一个对应的。所有顶层 QML 组件共享这个根上下文。找不到则沿着父上下文链向上查找;启动时自动创建一个根上下文。如果子上下文中设置了与父上下文。先在当前组件的上下文中查找;在根上下文中设置的属性,,形成“上下文链”。

2025-10-14 09:46:03 146

原创 Qt中如何正确添加资源文件

资源文件(qrc)的目的是将软件用到的资源(图片,字体,文件...)直接编译输出到exe文件中从而减少软件运行依赖,但exe文件也会变大很多。只有将RESOURCE_FILES文件加入到目标文件中才会真正将资源数据编译输出到exe中。只有加了这一句,rcc程序才会编译myres.qrc并生成qrc_myres.cpp。

2025-09-05 23:36:55 259

原创 QtQuick中如何让ScrollView的滚动条永远在最后

当然,以上语句需要在内容发生变化后通过信号触发。通过以下操作可以让水平滚动条永远在最后。

2025-09-02 22:57:46 121

原创 在QtQuick中使用vtk,如何让vtk响应键盘事件

VTK中的VTKRenderItem和VTKRenderWindow在QtQuick中的封装原型是QQuickItem,因此除了设置VTK端的vtkCommand观察者,还需要在QtQuick端设置是否接收键盘事件,如下:

2024-12-25 22:27:39 291

原创 flutter使用经验

将PUB_HOSTED_URL和FLUTTER_STORAGE_BASE_URL添加到环境变量里。

2024-10-29 22:46:34 340

原创 Qt Creator如何在Release模式下开启调试

就可以在Qt Creator的Release模式下调试了。开发环境: Qt Creator + MSVC2019。Qt工程采用CMake配置。在CMake文件里加上。

2023-12-16 17:59:07 1050 1

原创 无法解析的外部符号 “staticMetaObject”

Qt+CMake,编译报错无法解析的外部符号 “staticMetaObject”

2022-05-15 21:32:06 5123 2

原创 QTreeView怎么绘制一整行内容

QTreeView怎么绘制一整行内容

2022-04-06 22:55:53 1289

原创 Qt UDP收发数据CPU占用率100%问题

用Qt开发了一个UDP收发数据的动态链接库,然而当Visual studio一调用该dll就CPU占用100%,网上各种搜后,可能原因如下:1、在paintEvent中调用update函数,造成无限循环2、频繁刷新数据3、复杂的浮点运算4、死循环5、paintEvent里操作太多我的情况...

2021-06-11 11:23:23 1540 2

原创 VS加载DLL报---找不到指定的模块(126)

Qt开发的dll,在VS项目里加载报”找不到指定模块“,GetLastError = 126即使LoadLibrary用绝对路径也不对这是因为Qt开发的dll往往还依赖Qt本身的dll文件,当LoadLibrary找不到这些文件时也会报126因此用指令windeployqt xxx.dll看看dll都依赖了哪些库,然后一起放在exe路径下就可以了。因此LoadLibrary不仅需要找引用的dll本身,还需要找dll依赖的dll,否则就会报126....

2021-05-14 10:39:45 2077 2

原创 QLabel内容自动换行

与自动换行相关的函数:QLabel::setWordWrap(bool)原文文档:If this property is true then label text is wrapped where necessary at word-breaks; otherwise it is not wrapped at all.这里有个关键点就是要想成功换行就要有word-breaks,测试发现如果内容为全英文,数字等可Ascii编码的内容,word-breaks为空格,如:abcddfegsfdseg

2021-02-24 13:09:58 6724

原创 RecyclerView调用notifyDataSetChanged后需要滚动一下才刷新数据的问题

原代码如下:JSONObject ret = new JSONObject(event.info());mWifiScanResult = new JSONArray(ret.getString("data"));mRecyclerView.getAdapter().notifyDataSetChanged();其中mWifiScanResult为RecyclerView的数据源,为JSON格式。然而在Android模拟器上执行后并没有刷新数据,需要手动滚动一下才刷新数据。解决方法:不

2021-01-29 14:33:39 3143 3

原创 在Android上使用POI生成word文档时报错Didn‘t find class “androidx.core.app.CoreComponentFactory“

从阿帕奇官网下载的POI最新版(poi-bin-4.1.2-20200217.zip),然而在启动Android程序使用POI时就报错Didn‘t find class “androidx.core.app.CoreComponentFactory“,试了网上的办法都不行,尝试使用老版本的POI(3.9)问题解决。...

2020-12-29 11:06:03 2352

原创 Android for QT使用sqlite,Driver not loaded

QT开发的SQLite访问模块,封装为so,Android通过JNA调用so。QT中在调用 QSqlDatabase::addDatabase后报错(lastError()获取)Driver not loaded。但libplugins_sqldrivers_qsqlite_arm64-v8a.so文件已经打包进apk了(放在libs文件夹下)。然后尝试在QT中先调用QCoreApplication::addLibraryPath添加路径“/data/app/包名/lib/arm64”发现还是不行。

2020-12-16 17:02:05 541 1

原创 QUDPSocket接收信号无法触发问题

QT5.14,Server-Client应用,Server为树莓派,Client为Android设备,代码封装用QT编写封装为soAndroid上点击按钮,调用so发送数据,Server能正常接收数据。Server原路(获取到ip和port)发送给Client响应数据,然而Client就是不触发readyRead信号。解决:在通过udp发送数据的地方,调用waitForReadyRead,问题解决。void SocketTester::sendMessage(QString msg){QNet

2020-12-10 11:40:07 5402

原创 QT for Android 开发动态链接库,信号无法触发问题

用QT 5.14开发Android下的动态链接库so,供Android Studio使用(通过JNA调用)。Qt程序中使用了信号槽机制,然而在手机上运行程序后,信号无法触发。最后在QT文档中发现connect函数:QMetaObject::Connection QObject::connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionTyp

2020-12-09 17:15:16 590

原创 Qt发布的程序svg图标不显示问题

用Qt5.14开发的软件,软件中用到了很多svg格式的图标,发布后在有些电脑上svg格式的图标不显示,但png格式的图标正常显示,尝试了网上说的:1.在程序路径增加plugins\imageformats,并拷贝Qt安装目录下的imageformats文件夹;2.拷贝Qt安装目录下的Qt5Svg.dll到程序路径;以上方法都没用,所以最后就把svg全转成png图标就OK了,不知道还有没有其他更好的解决方案。...

2020-12-02 10:25:32 3813 5

转载 (转)线程安全(上)--彻底搞懂volatile关键字

https://www.cnblogs.com/kubidemanong/p/9505944.html

2020-01-16 13:10:55 290

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除