qt widget加载qml_Qt 加载QML 文件的几种方式

本文详细介绍了在Qt中加载QML文件的三种方法:1)使用QQmlApplicationEngine搭配Window;2)利用QQuickView结合Item;3)通过QQuickWidget在QWidget上加载QML。每种方式都提供了相应的示例代码,帮助理解如何控制窗口属性和集成QML到C++项目。
摘要由CSDN通过智能技术生成

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/luoyayun361/article/details/77113516

前言

之所以写这篇文章,是因为在项目中经常会碰到一个问题,qml 文件该如何加载到工程中,其实 Qt Quick APP 有两种模式,另外,还有一种场景是,在 QWidget 界面上加载 QML 页面,这三种情况的使用方式都不太一样,这里总结一下。

正文

QQmlApplicationEngined搭配 Window

示例:

#include

#include

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

{

QGuiApplication app(argc, argv);

QQmlApplicationEngine engine;

engine.load(QUrl(QStringLiteral("qrc:/main.qml")));

if (engine.rootObjects().isEmpty())

return -1;

return app.exec();

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

这种方式是加载以 Window为跟对象的 QML 文件,QML 拥有窗口的完整控制权,可以直接设置标题、窗口尺寸等属性。

QQuickView 搭配 Item

示例:

#include

#include

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

{

QGuiApplication app(argc, argv);

QQuickView *view = new QQuickView;

view->setResizeMode(QQuickView::SizeRootObjectToView);

view->setSource(QUrl(QStringLiteral("qrc:/main.qml")));

view->show();

return app.exec();

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

使用 QQuickView 显示 QML 文件,对窗口的控制权(标题、窗口尺寸)是在 C++代码中,QML 文件是以 Item (及 以Item为根的组件)作为根对象。

QQuickWidget 加载 QML

示例:

QQuickWidget *view = new QQuickWidget;

view->setSource(QUrl::fromLocalFile("myqmlfile.qml"));

view->show();

1

2

3

QQuickWidget是继承于 QWidget 控件,这种方式主要是用于在 QWidget 界面上加载 QML 界面。之前写过一篇文章,主要讲QQuickWidget加载 QML 的设置背景透明的问题,在这里

————————————————

版权声明:本文为CSDN博主「luoyayun361」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/luoyayun361/article/details/77113516

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值