❝QQuickWidget类提供了一个用于显示Qt Quick用户界面的小部件。 ❞ QQuickWidget底层继承的是QWidget,但它可以加载Qml文件(组件),但我们有时候需要和Qml文件(组件)数据交互使用,本文介绍几种QQuickWidget与Qml交互数据的方法。 C++代码: QQuickWidget *view = new QQuickWidget; QString str = "Hello world"; /* 设置变量到Qml中 */ view->rootContext C++代码: /* 导入MyObject类到Qml中 */ qmlRegisterType<MyObject>("MyModel", 1, 0, "MyObject"); QQuickWidget * C++代码: QQuickWidget *view = new QQuickWidget; view->setSource(QUrl("qrc:/View.qml")); QVariant retVal
QDeclarativeView; view->setSource(QUrl::fromLocalFile("file.qml")); view->show(); Qt5使用方法 项目文件添加 QT+=quickwidgets QQuickWidget *view = new QQuickWidget; view->setSource(QUrl::fromLocalFile("file.qml")); view->show(); 总结 由于QDeclarativeView 与QQuickWidget都是继承于QWidget,可以和QWidget一样的操作; setSource函数能够将qml文件实例化,如果多次同样的URL调用则会重新实例化; 本地文件需要使用QUrl::
/* main.cpp */ QQuickWidget view; view.setSource(QUrl("qrc:Main.qml")); view.show(); /* Main.qml */ QQuickWidget -> QEvent::MouseButtonPress QQuickWindow -> QEvent::MouseButtonPress QQuickMouseArea -> QQuickWidget -> QEvent::MouseButtonPress QQuickWindow -> QEvent::MouseButtonPress 通过触摸事件信息对比win10与win7
程序环境:Windows、Qt5.9.8(MSVC2015) 一、 项目准备 由于使用到了Qml以及QQuickWidget,所以pro中要添加quick和quickwidgets模块,不然会报出一些奇葩的问题 Widgwet部分 该部分主要使用了QQuickWidget用来嵌入Qml的显示,并使用Qt的信号和槽来进行通信。
可以用QQuickWidget和qml交互。请参考《Qml嵌入Widget以及Qml与Widget交互》。 36、怎样制作音视频播放器? 可以使用VLC-QT。 37、如何编译Open SSL?
Line(垂直分割线)、OpenGL Widget(OpenGL(Open Graphics Library,开放图形库)图形渲染的部件,可以在PyQt和Qt的应用中显示图形(包括2D和3D图形))、QQuickWidget
现在,请确保我们没有在用户界面中添加任何QQuickWidget小部件,因为我们需要向项目中添加其他模块才能使其正常工作。 本章将介绍如何向 Qt 项目添加模块。