草庐IT

c++ - Qt:QScrollArea 中的自定义小部件

我正在尝试创建自定义小部件。我的小部件呈现自身,除非它在滚动区域内。下面的代码有效。如果我在MainWindow构造函数中将if(0)更改为if(1),它将不会呈现“HelloWorld”字符串。我假设我必须(重新)实现一些额外的方法,但到目前为止我还无法通过反复试验找到正确的方法。//hellowidget.h#ifndefHELLOWIDGET_H#defineHELLOWIDGET_H#includeclassHelloWidget:publicQWidget{Q_OBJECTpublic:HelloWidget(QWidget*parent=0);voidpaintEvent(

Qt3D类使用说明

Qt3D类说白了就是处理3D图形的类接口,对比2D图形graphicview类,3D图形也有场景,有实体类,灯光实体,摄像机实体类,材质类等处理。下面是常用的Qt3D类以及它们的使用说明:1.**Qt3DCore:**这个模块包含了一些核心类,用于管理3D场景中的实体、组件、变换等。其中最重要的类是`Qt3DCore::QEntity`,它代表了3D场景中的实体,可以包含各种组件。2.**Qt3DRender:**这个模块包含了一些用于渲染的类,比如`Qt3DRender::QCamera`代表了摄像机,`Qt3DRender::QMaterial`代表了材质,`Qt3DRender::QMe

c++ - OpenCV 与 QT 的集成

我完全是QT和OpenCV开发的新手——一般来说实际上是C++。我想用OpenCV开发一个应用程序并用Qt创建它的界面。我没有得到的是,如何整合这两个部分?我的意思是,为了开发java,我只使用eclipse,它为我提供了JFrame和其他用于GUI和App开发的类。为了使用OpenCV,我添加了C++IDE;但是即使QT有它的IDE,我可以完全使用Eclipse导入Qt库来开发我的应用程序的GUI吗? 最佳答案 Qt和OpenCV只是C++库,您可以使用它们支持的C++编译器在任何C++环境中工作。带有您选择的(受支持的)C++编

c++ - Qt GUI 数学应用程序在计算时挂出 GUI

我的应用程序有一个简单的GUI=我必须为我的数学函数设置一些输入参数,然后单击“计算”按钮,函数启动。数学函数是用纯C语言编写的,因此没有对象,只有函数。看起来像这样:#include"mymath.h"classmyMath:publicQMainWindow{Q_OBJECT//...voidcompute();};voidmyMath::compute(){//getparametersfromguicall_C_fun();//saveresultstoGUI}此代码的主要问题是,当我单击“计算”时(它会进行大量计算,最多需要5分钟左右)它会挂起我的GUI,所以我不能做任何其他

c++ - 不建议通过 Qt Signals 发出大量数据

为什么不建议在Qt中通过信号发送大量数据?为什么我们可以选择通过它们发送我们自己的类型? 最佳答案 WhyitisnotrecommendedtoemitalargeamountofdataoversignalsinQt?没有这样的建议。参见thisquestion供讨论。数据与对象首先,当我们通过信号参数传递数据时,我们传递对象实例-按值或按引用。然而,我们必须区分数据和对象。QString可能包含很多数据,但这并不意味着它会在您复制字符串对象时复制数据。//onemillionworthof'a's,about2megabyte

c++ - Qt Signal/Slots发送完整结构

我正在尝试通过两个线程之间的信号/槽发送一个结构,我的信号/槽已正确连接并且我已经能够发送包含我的部分数据的QString但现在我需要发送整个东西并且结构似乎最明智的。但是,当我尝试时,信号未发送/接收。问题似乎只是发送/接收结构,我尝试了很多方法之前和之后的处理。我不能使用这样的指针here或here因为我的数据生成速度太快,内存被覆盖或释放(我尝试过使用指针并假设引用也会受到类似的影响)。我已经添加了Q_DECLARE_METATYPE到我的结构。我的结构暂时只是一个小测试(后面会放大),在自己的头文件中。#ifndefRETURNSTRUCT_H#defineRETURNSTRU

c++ - 如何在Qt中使用FontAwesome

FontAwesome使向HTML中添加可编辑图标相当容易:我已经尝试将FontAwesome图标添加到Qt小部件,但它没有显示:QPushButton*qB=newQPushButton("TXT");qB->setProperty("class","fafa-camera-retro");我怎样才能让它与Qt小部件一起工作? 最佳答案 Qt不是那样工作的。您需要创建一个qrc文件并将FontAwesome捆绑到您的项目中,如下所示:FontAwesome.otf然后将其包含在.pro文件中:RESOURCES+=resource

Qt之使用Qt内置图标

一效果二.原理Qt内置图标封装在QStyle中,共七十多个图标,可以直接拿来用,能应付不少简单程序需求,不用自己去找图标并添加到资源文件了。下面是内置图标的枚举定义:  enumStandardPixmap{    SP_TitleBarMenuButton,    SP_TitleBarMinButton,    SP_TitleBarMaxButton,    SP_TitleBarCloseButton,    SP_TitleBarNormalButton,    SP_TitleBarShadeButton,    SP_TitleBarUnshadeButton,    SP_Ti

c++ - 用于 boost::promise<T> 的 Qt 是什么?

我看到Qt有futureboost::future的直接模拟类但是boost::promise的qt是什么?? 最佳答案 如已接受的答案所示构建我自己的QFuture对我不起作用。起初它似乎在工作,但在我的测试中我意识到它并没有阻止调用者。哎呀!所以我进一步研究了代码,发现QFutureInterface是你想要用作你的“promise”的东西。与boost::promise一样,QFutureInterface是您在工作线程中与之交互的对象,它是QFutures的工厂。这就是我在Qt4.8中所做的(不确定这是否适用于更高版本)。Q

c++ - Qt Signal Slot Architecture 不需要的无限循环

我对qt信号槽系统有问题。首先,我创建了一个名为SysteminSingleton模式的类,因此我可以在需要的地方访问它的实例。系统有信号SelectionChanged。我有一个列表小部件,我正在将它的itemSelectionChanged信号连接到我的名为onSelectionChanged的​​自定义插槽。在onSelectionChanged插槽中,我发出系统的SelectionChanged信号。目前还没有问题。在我的软件设计中,许多GUI小部件或自定义类可以使用对象的选择,并且系统的SelectionChanged信号可以由列表小部件以外的小部件发出。所以我在列表小部件中