如何在我的 C++ 代码中创建 QML 画布并在其上附加视频?比如Java Canvas我可以

Posted

技术标签:

【中文标题】如何在我的 C++ 代码中创建 QML 画布并在其上附加视频?比如Java Canvas我可以【英文标题】:How can i create QML canvas in my C++ code and attach video on that? Such as Java Canvas i can 【发布时间】:2011-05-15 09:19:40 【问题描述】:

如何创建 QML 这样的画布,并在该画布上附加 XOverlay 视频对象?

Java:
final Canvas canvas = new Canvas(); 
canvas.setPreferredSize(new Dimension(200, 200)); 
XOverlay.wrap(video).setWindowID(canvas);

C++
#include <QtGui/QApplication>
#include "qmlapplicationviewer.h"

int main(int argc, char *argv[])

    QApplication app(argc, argv);

    QmlApplicationViewer viewer;
    viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
    viewer.setMainQmlFile(QLatin1String("qml/QmlTest1/main.qml"));

    // set the window no border, to do full screen live VIDEO
    viewer.setWindowFlags(
                            Qt::CustomizeWindowHint |
                            Qt::FramelessWindowHint
    );
    viewer.showExpanded();

    return app.exec();

我的参考:

http://doc.qt.nokia.com/4.7-snapshot/qdeclarativeexamples.html

http://www.scriptol.com/programming/qml.php

【问题讨论】:

【参考方案1】:

QML 中的视频播放可以通过 Qt Mobility 的 Video 元素完成: http://doc.qt.nokia.com/qtmobility-1.2/qml-video.html

【讨论】:

以上是关于如何在我的 C++ 代码中创建 QML 画布并在其上附加视频?比如Java Canvas我可以的主要内容,如果未能解决你的问题,请参考以下文章

如何通过按下和拖动在 Qt Quick/QML 画布中绘制一个矩形

如何在 QML 中访问 C++ 类对象,而不是在 QML 中创建单独的对象?

如何在 QML 中创建延迟函数?

如何在 Capella 中创建服务并在我的 M2DOC Word 文档中调用它?

如何在 Python 函数中创建简单的 PyQt 弹出窗口并在其末尾关闭?

在 QML 中创建自定义 C++ 对象并将其存储在 C++ 模型中