草庐IT

c++ - 使用动态插件处理 Qt5 中的 QMetaType 注册

我的公司正在考虑从Qt4.8.4跳转到Qt5.4,但我遇到了一个对我们来说可能是个阻碍的变化:QMetaType::unregisterType()被删除了(http://doc.qt.io/qt-5/sourcebreaks.html).我们的GUI需要在运行时加载插件,同一个插件可能会在GUIsession期间加载和卸载不止一次。在Qt4中,我们遇到了一个问题,当第二次加载插件时,任何使用插件注册的自定义类型之一的信号/插槽都会导致访问冲突,因为元类型已被注册插件的第一个实例(现在已卸载,因此内存空间无效)。我们通过定义自己的宏来解决这个问题,以便在加载和卸载插件时安全地注册和取消

c++ - Qt 5.4 应用程序可以在 pre win7 中调试吗

当我发现选择Chromium而不是WebKit对QtWebEngine的影响时,我感到非常惊讶。Chromium需要VS2013,因此我无法在(例如)我的VistaProfessional上进行开发和测试。VS2013不支持XP或Vista。另外,安装QtCreator3.3.0,我没有得到可运行的工具包(是MinGW,直到Qt5.3)。Help\AboutQtCreator...框显示BasedonQt5.4.0(MSVC2010,32bit)我不明白...似乎我唯一的选择是坚持使用Qt5.3。或者在放弃Qt作为可行的可移植平台之前,我可以尝试一些技巧?

c++ - 如何在 QML 场景上绘制 3D 线?

我试图将BulletPhysics的调试绘图接口(interface)集成到QML中,所以我必须实现一个drawLine()方法。voiddrawLine(constbtVector3&from,constbtVector3&to,constbtVector3&color);我尝试的是从QQuickItem3D和btIDebugDraw继承了场景中使用的一个项目。在drawLine()中,我将线条添加到成员vector中。在Qt的drawItem()中,我遍历线条并使用OpenGL调用来渲染它们。但是,它们不会出现在屏幕上。如何在3D空间和正确的相机View中绘制线条?voidDebu

c++ - QT程序无法启动,因为缺少libgcc_s_dw2-1.dll

我知道以前有人问过这个问题,但我似乎找不到答案。我只有一个小的helloworld控制台程序,基本上是我用c++和qtcreator编写的。当我尝试运行可执行文件时,出现“程序无法启动,因为您的计算机缺少libgcc_s_dw2-1.dll。请尝试重新安装以解决此问题。”我不明白为什么这个dll对于像这样的小程序来说甚至是必需的。我尝试按照其他地方的建议添加这些标志:QMAKE_CXXFLAGS+=-static-static-libgcc-static-libstdc++它仍然发生。其他人建议将dll所在的目录添加到我的路径中,但我实际上想将此程序提供给其他人,而他们不需要dll。

c++ - QT 和 Crypto++ with/MTd

我有两个带有MSVC201332位编译器的QT5.5项目。第一个是Qt控制台应用程序,在pro文件中使用crypto++和这两个:QMAKE_CXXFLAGS_RELEASE+=/MTQMAKE_CXXFLAGS_DEBUG+=/MTd第二个是Qtwidgets应用程序,它构建了基于对话框的GUI。单独地,每个都成功启动,但也单独地,在像上面这样的pro文件中添加相同内容的GUI项目给出了相同的旧错误:qtmain.lib(qtmain_win.obj):-1:error:LNK2038:mismatchdetectedfor'RuntimeLibrary':value'MD_Dyna

c++ - 计算以恒定加速度对齐两个 3D vector 所需的扭矩?

我目前正在为卫星游戏构建一个简化的react控制系统,并且需要一种方法来使用该系统将卫星对准世界空间坐标中的给定单位方向。因为这是一个游戏模拟,所以我伪造了系统,只是在物体震中周围施加扭矩力。这很困难,因为在我的例子中,扭矩的强度不能变化,它要么打开要么关闭。要么全力以赴,要么无力。计算需要施加扭矩的方向相对容易,但我很难让它完美对齐而不会失控并陷入逻辑循环。它需要在精确的“时间”施加反作用力,以零角速度降落在目标方向上。到目前为止我确定的是,我需要根据我当前的角速度和两个vector之间的角度计算达到零速度所需的“时间”。如果这超过了我达到零角的时间,那么它需要施加相反的扭矩。从理论

智能优化算法应用:基于社交网络算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于社交网络算法3D无线传感器网络(WSN)覆盖优化-附代码文章目录智能优化算法应用:基于社交网络算法3D无线传感器网络(WSN)覆盖优化-附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.社交网络算法4.实验参数设定5.算法结果6.参考文献7.MATLAB代码摘要:本文主要介绍如何用社交网络算法进行3D无线传感器网(WSN)覆盖优化。1.无线传感网络节点模型本文主要基于0/1模型,进行寻优。在二维平面上传感器节点的感知范围是一个以节点为圆心,半径为RnR_nRn​的圆形区域,该圆形区域通常被称为该节点的“感知圆盘”,RnR_nRn​称为传感器节点的感知半径,感知半径与

c++ - 使用 Qt 显示来自 OpenCV 的网络摄像头流

所以我可以用这个简单的代码用imshow和OpenCV查看我的网络摄像头流intmain(int,char**){VideoCapturecap(0);Matedges;namedWindow("webcam",1);while(true){Matframe;cap>>frame;imshow("webcam",frame);if(waitKey(30)>=0)break;}return0;}现在我想要的是在QT的Widget中的QImage中显示来自OpenCV的图像这是从cv::Mat到QImage的转换QImageMat2QImage(cv::Matconst&src){cv::

c++ - Qt5.7 安装在 Raspberry Pi3 上并且可以正常工作...如何获取 QtCreator?

我终于设法在RaspberryPi3上安装了Qt5.7,并构建了一个在Pi上运行的示例,这是通过仔细遵循以下步骤完成的:StepbyStepinstructionsonhowtoinstallQt5.6onRaspberryPi3要在Pi上获得5.7,只需替换:gitclonegit://code.qt.io/qt/qtbase.git-b5.6与:gitclonegit://code.qt.io/qt/qtbase.git-b5.7这在Linux主机上设置了工具链,在我的例子中是Ubuntu16.04,但是它没有安装QtCreator,然后我尝试安装QtCreator并搞砸了构建,所

c++ - 在什么情况下为 Qt MinGW 或 MSVC 选择什么编译器?

我从QT开始,使用windows64位我已经安装了MinGW而我没有VS。我应该选择什么版本的QT(MSVS或MinGW),目的是什么?在某些情况下,我必须选择一个而不是另一个吗?我看到MinGW的唯一Qt版本是32位,但是MinGW也支持64位,为什么?假设我想开发一个windows应用程序和一个android应用程序,我是否必须安装两个Qt版本MSVC2015和Qtforandroid? 最佳答案 你最好同时安装它们。用于开发的MinGW版本和用于发布的MSVC版本。因为来自Digia的人,他们构建了Qt版本,除了x64MinG