2016-07-27 66 views
0

我在QtCreater中使用设计器来尝试创建一个QML概念视频流播放器。它使用的是快速控件而不是小部件,因为它需要在没有可用小部件的设备上运行。Qt Creator中无法使用QtMultimedia(Windows)

我已经成功地将一个像素的红色边框与其中的一个空矩形(具有行布局中的列布局的矩形)作为一个简单的开始。这可以在Windows和我打算部署到的设备上运行。

但是,我想用视频播放器控件替换空的矩形,我无法弄清楚如何做到这一点,最初是为Windows。

我添加multimedia到我QT变量在ProjName.pro文件设置为原始qml quick,我已经运行从菜单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 

这一切都与QtCreator 4.0.1从Qt的网站下载大约一个月前,我们在Windows和目标平台上都使用Qt 5.6.1。

我在网上找到的所有解决方案似乎表明import是所有需要的,但在这里似乎并非如此。

任何想法我做错了什么,或者是什么过程让QtMultimedia控件之一在QML应用程序中运行?

+0

我没有看到。这可能是两件事之一:一个bug,或者Qt Quick Designer不支持多媒体类型。 – Mitch

回答

2

显然这是故意的。据我所知,最好的方法是创建一个单独的组件(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 
    } 
} 
+1

我已经放弃了设计师,它造成了更多的问题,而不是它的价值。我可能会用它来创建初始表单,但是我会将它移动到“常规”qml文件中。这样做可以摆脱那些让我得出这个结论的错误。 – paxdiablo