2016-07-27 104 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