我正在QtCreater中使用设计器来尝试使用QML创建概念验证视频流播放器。它使用的是快速控件,而不是窗口小部件,因为它将需要在没有窗口小部件的设备上运行。
作为一个简单的开始,我已经成功地在屏幕边缘放置了一个像素的红色边框,其中带有一个空矩形(矩形在行布局中具有列布局的矩形)。它既可以在Windows下运行,也可以在我要部署到的设备上运行。
但是,我想用视频播放器控件替换空矩形,并且在弄清楚该如何做(最初是针对Windows)时遇到了麻烦。
我已经添加multimedia
到原来qml quick
我的QT
变量在设置ProjName.pro
文件,我已经运行qmake
从菜单中,以确保它被付诸行动。
但是,当我在设计器中编辑主表单时使用QtCreator尝试导入模块时,根本看不到任何包含“多媒体”一词的内容。我所看到的是:
Qt.labs.calendar 1.0
Qt.labs.controls 1.0
Qt.labs.controls.material 1.0
Qt.labs.controls.universal 1.0
Qt.labs.folderlistmodel 2.1
Qt.labs.settings 1.0
Qt.labs.templates 1.0
QtCanvas3D 1.1
QtGraphicalEffects.private 1.0
QtPositioning 5.6
QtQuick.Controls 1.5
QtQuick.Extras 1.4
QtQuick.LocalStorage 2.0
QtQuick.Window 2.2
QtQuick.XmlListModel 2.0
QtSensors 5.6
QtTest 1.1
QtWebSockets 1.0
QtWebView 1.1
我可以手动编辑MainForm.ui.qml
文件并将其插入import QtMultimedia 5.6
其中,但是当设计者重新启动时,它会在顶层控件旁边显示一个警告,并带有帮助文本:
found not working imports:
file:///C:/path-to/MainForm.ui.qml:2 module "QtMultimedia"
is not installed
这是一个月前从Qt网站下载的QtCreator 4.0.1的全部内容,并且我们在Windows和目标平台上都使用了Qt 5.6.1。
我在网上找到的所有解决方案似乎都表明这import
就是所需要的,但在这里似乎并非如此。
任何想法我做错了什么,或者使QML应用程序中运行一个QtMultimedia控件的过程是什么?
显然,这是故意的。据我所知,最好的方法是创建一个单独的组件(QML文件,通过文本编辑器),该组件本身会导入多媒体类型。然后可以在设计器中使用。例如,如果VideoItem.qml
使用以下内容创建,则可以在设计器中使用它:
import QtQuick 2.0
import QtMultimedia 5.5
Rectangle {
width : 200
height : 200
color: "black"
Video {
id: video
source: "video.avi"
anchors.fill: parent
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句