草庐IT

qt-embedded-linux

全部标签

c++ - 在非 GUI 应用程序中使用 Qt,优缺点?

我正在使用C++开发一个半实时系统。许多设计和逻辑都是基于事件的。在寻找C++的一些事件框架时,我找到了Qt。Qt中的信号/槽、状态机看起来非常适合我的情况。我更喜欢它们而不是提升。此外,QObject系统有很多不错的功能,例如QObjectModel,moc,parent-childobjectmemorymanagementetc.但我对Qt知之甚少,这里有几个问题。鉴于我现在对c++/STL相当熟悉,是否值得花时间学习Qt?反正我不会用它最流行的部分,UI。与STL/boost相比,Qt的性能如何?由于应用程序是实时的,因此性能是关键要求。例如,我必须非常仔细地设计数据布局以最大

c++ - 在 Qt 中创建原始 GL 上下文?

我在一个项目中使用Qt。它有一些QGLWidgets,它们工作得很漂亮。问题是,我有一些我想使用的遗留代码,它们使用原始OpenGL命令来执行一些纹理和网格处理(将网格渲染为图像等)。我想从我的Qt代码中调用这些函数,当然这需要我在调用OpenGL命令之前设置一个新的OpenGL上下文。我尝试执行以下操作:QGLContextcontext(QGLFormat::defaultFormat());std::cout但它不起作用。QGLContext::create()返回false。这是在Windows7上使用Qt4.8,编译时支持OpenGL。这是要求Qt为我创建新的OpenGL上下

c++ - 在 Qt 插件类中读取自己的元数据

我目前正在编写自己的Qt插件以用于Qt程序。为了识别插件版本信息,我使用存储在JSON文件中的元数据,如下所示:{"type":"communication","name":"USB-LIN-IB","longname":"USB-LINCommunication","version":"1.1","dependencies":[]}为了从插件类外部(在Qt程序世界中)访问这些元数据信息,我回到了它们,因为我已经定义了这样的JSON文件:Q_PLUGIN_METADATA(IID"org.plugins.communications.1"FILE"USBLINCommunication

【Linux C | I/O模型】IO复用 | poll、ppoll函数详解

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C++、数据结构、音视频🍭🤣本文内容🤣:🍭介绍poll、ppoll函数🍭😎金句分享😎:🍭你不能选择最好的,但最好的会来选择你——泰戈尔🍭⏰发布时间⏰:2024-02-0213:51:20本文未经允许,不得转发!!!目录🎄一、概述🎄二、poll函数介绍🎄三、poll函数使用步骤🎄四、poll函数使用例子🎄五、ppoll函数及例子🎄六、总结🎄一、概述在Unix/Linux系统中,有五种IO模型:阻塞I/O模型、非阻塞I/O模型、复用式I/O模型、信号驱动式I/O模型、异步I/

c++ - Qt避免警告'QProcess : destroyed while process still running

最简单的代码:voidtest{QProcessp;p.start("sleep10");p.waitForBytesWritten();p.waitForFinished(1);}当然,在函数结束前进程是不能结束的,所以会显示警告信息:QProcess:Destroyedwhileprocess("sleep")isstillrunning.我不希望显示此消息-我应该在函数结束之前自行销毁该进程,但我找不到如何正确执行此操作:p.~QProcess(),p.terminate(),p.kill()帮不了我。注意:我不想等待进程执行,只是在它运行时自行终止它。

c++ - Qml/Qt/C++ : QQuickView in a QWidget - Need Background Transparency

我试图让我的带有qquickview的容器变得透明,并且只显示QML文件中的元素而没有背景。有没有更好的方法来实现这个?这是相关代码,您可以看到我已经注释掉了向其中添加QML,因此唯一的违规者是包含QQuickView的QWidgetQML将仅使用文本制作类似于Apple的“CoverFlow”的菜单。我只希望它生成的文本可见。目前它有纯白色背景。QQuickView*view=newQQuickView();QWidget*container=QWidget::createWindowContainer(view,this);container->setObjectName("wra

c++ - Qt; QWidget 移除和删除。 setParent(NULL) 有必要吗?

我一直在阅读Qwidgets的所有权并删除它们。例如:http://qt-project.org/doc/qt-4.8/objecttrees.html这表示“您也可以自己删除子对象,它们将从父对象中删除自己”然而,我看到的很多示例在删除之前将父级设置为null。例如:if(widget!=NULL){layout->removeWidget(widget);widget->setParent(NULL);deletewidget;}是否需要setParent(NULL);?从这里开始,有什么理由让我不能只做一个deletelayout->itemAt(i);或deletelayout

c++ - qt creator opencv windows cmake错误

我想配置然后生成opencv库供qtcreator链接它们。我打开cmake3.1.0并输入源代码和构建路径。来源:C:/Users/Philipp_Laptop/Downloads/opencv/sourcesbuild:C:/opencv-mingw然后我用路径配置了mingw-compiler:C:/Qt/Tools/mingw482_32/bin/gcc.exeC:/Qt/Tools/mingw482_32/bin/g++.exe成功配置后,我设置了with_Qt选项。我配置了两次,它显示了以下错误:DetectedversionofGNUGCC:48(408)CMakeWar

c++ - 从 QByteArray 解析 Qt5 JSON

我有QByteArray,包含这个JSON{"response":{"count":2,"items":[{"name":"somename","key":1"},{"name":"somename","key":1"}]}}需要解析并获取需要的数据:QJsonDocumentitemDoc=QJsonDocument::fromJson(answer);QJsonObjectitemObject=itemDoc.object();qDebug()第一次调试显示所有QByteArray的内容,记录在itemObject中,第二次调试不显示任何内容。我必须以其他方式解析它,或者为什么这个

Linux基础项目开发1:量产工具——UI系统(五)

前言:前面我们已经把显示系统、输入系统、文字系统搭建好了,现在我们就要给它实现按钮操作了,也就是搭建UI系统,下面让我们一起实现UI系统的搭建吧目录一、按钮数据结构抽象ui.h二、按键编程 1.button.c 2.disp_manager.c3. disp_manager.h三、单元测试1.ui_test.c2.unittest下的Makefile3. ui下的Makefile4.顶层目录下的Makefile四、上板测试1.ubuntu上2.开发板上3.运行效果:一、按钮数据结构抽象1.所谓UI,就是UserInterface(用户界面),有图像界面(GUI)等2.我们的UI系统,就是构造各