Tag: qt

使用QtMultimedia播放自定义的AVI数据stream

我需要播放一个自定义的AVI文件,其中包含一个经典的videostream,一个audiostream, 但也是一个自定义的数据stream 。 自定义stream包含一些自定义小部件可视化的数据; 这些小部件只需要在适当的时候将每个自定义帧写入缓冲区。 我们的应用程序基于Qt,已经使用QMediaPlayer / QVideoWidget来播放传统video,但额外的自定义stream使事情变得更加复杂,因为AFAIK QMediaPlayer只播放video/audio而忽略其他所有内容。 我想避免重新创build整个qt-multimedia ,但是我不确定如何从可用的Qt类中获得最好的效果。 我到目前为止的想法是: 编写一个自定义媒体播放器类,使用ffmpeg对video进行解复用和解码,实现定时,使用QAudioOutput播放audio,生成一串QVideoFrame在video上播放,并将自定义数据写入某个缓冲区进行可视化。 问题 :为了避免编写代码来重新缩放/转换video帧,我想重复使用QVideoWidget ,但它似乎只适用于“真正的” QMediaPlayer 。 将input文件解复用并将QMediaPlayer与AVstream一起馈QMediaPlayer 。 将input与ffmpeg解复用(可能将解码保留到Qt后端),有一个QIODevice只从input文件中检索video/audiostream,而另一个则检索数据stream。 用QMediaPlayer播放video/audio。 +——-+ | QFile | +—^—+ | inherits | +——————–+ | MyAviDemuxer | | | | holds a queue of | | demuxed packets | +——————–+ | | readDataPacket readVideoPacket | | +——-v——–+ +——–v———–+ […]

__declspec(dllimport)真的意味着什么?

我看到了这样的Qt源代码: class Q_CORE_EXPORT QBasicAtomicInt { public: … }; 哪个Q_CORE_EXPORTmacros定义如下: define Q_DECL_IMPORT __declspec(dllimport) 那么__declspec(dllimport)是什么意思?

QtCreator和命令行参数

有没有办法将命令行参数发送到QtCreator中正在debugging的程序?

QVector与QList

我有一个整数列表,我需要迭代,但一个数组是不够的。 向量和列表之间有什么区别,在selecttypes之前有什么我需要知道的? 只是要清楚,我已经阅读了QT文档,但这是我所知道的程度: QList,QLinkedList和QVector提供了类似的function。 这里有一个概述: 对于大多数目的,QList是正确的类。 它的基于索引的API比QLinkedList的基于迭代器的API更方便,并且由于它将项目存储在内存中的方式通常比QVector更快。 它也扩展到更less的代码在您的可执行文件。 如果你需要一个真正的链表,保证在列表中间有恒定的时间插入,迭代器可以保证项目而不是索引,可以使用QLinkedList。 如果你想要项目占用相邻的内存位置,使用QVector。

如何从单独的string(安全)build立一个完整的pathstring?

C ++有没有等同于python的函数os.path.join ? 基本上,我正在寻找将文件path的两个(或多个)部分结合在一起的东西,以便您不必担心确保两个部分完美地结合在一起。 如果是Qt,那也会很酷。 基本上我花了一个小时来debugging一些代码,至less部分代码是因为root + filename必须是root/ + filename ,我期望在将来避免这种情况。

为什么不使用exception处理?

我一直都想知道,因为Qt几乎使用了标准中的每一个C ++特性,并且以一种奇妙的和创新的方式使用,并且每当它没有使用特定的特性时,它就有一个非常有效和适用的理由。 在这种情况下,为什么没有Qt类使用throw关键字并throwexception呢? 他们的基本原理是什么,从不需要try …在我们的Qt编写代码catch块? 就我个人而言,我自己不喜欢它,不pipe是否使用Qt,总是使用错误代码和返回值而不是抛出exception对象。 但是为什么我在他们的文档中看不到QException类呢? Qt开发者对此有何观点?

如何使用QMake的subdirs模板?

我开始学习Qt。 我正在从Visual Studio世界转移,并且正在寻找一种使用QMake来组织我的项目结构的方法。 我find了“subdirs”模板,但我很难理解它。 我的项目结构如下所示: project_dir/ main.cpp project.pro logic/ logic.pro some logic files gui/ gui.pro gui files 我的project.pro看起来像这样 TEMPLATE = subdirs SUBDIRS = logic \ gui SOURCES += main.cpp 在子目录的.pro文件中,我有适当的SOURCES , HEADERS和RESOURCESvariables集。 请告诉我在.pro文件中应该设置什么TARGET , TEMPLATE和其他必要的值。 另外,还有一些比正式版本更好的QMake教程吗?

链接一个qtDesigner .ui文件到python / pyqt?

所以如果我进入QtDesigner并build立一个UI,它将被保存为一个.ui文件。 我怎样才能使这个python文件或在Python中使用它?

我可以在没有qmake或Qt Creator的情况下使用Qt吗?

我想使用Qt编程,但我不想使用特殊的编译器或IDE,如Qt Creator和qmake。 我想用Kate编写并用g ++编译。 我可以编译一个使用Q ++与g ++的程序吗? 如何用g ++编译它?

项目错误:QT:webkitwidgets中的未知模块

我将代码从qt4移植到qt5。 按照build议将以下行添加到我的.pro文件中: QT += webkitwidgets 但是,当我运行qmake ,我得到这个错误: Project ERROR: Unknown module(s) in QT: webkitwidgets 我正在开发Ubuntu 12.04 LTS,并按照说明安装了Qt。