日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Qt 加载QML 文件的几种方式

發(fā)布時間:2025/1/21 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Qt 加载QML 文件的几种方式 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前言

之所以寫這篇文章,是因為在項目中經(jīng)常會碰到一個問題,qml 文件該如何加載到工程中,其實 Qt Quick APP 有兩種模式,另外,還有一種場景是,在 QWidget 界面上加載 QML 頁面,這三種情況的使用方式都不太一樣,這里總結(jié)一下。

正文

QQmlApplicationEngined搭配 Window

示例:

#include <QGuiApplication> #include <QQmlApplicationEngine>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(); }

這種方式是加載以 Window為跟對象的 QML 文件,QML 擁有窗口的完整控制權(quán),可以直接設(shè)置標題、窗口尺寸等屬性。

QQuickView 搭配 Item

示例:

#include <QGuiApplication> #include <QQuickView> 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(); }

使用 QQuickView 顯示 QML 文件,對窗口的控制權(quán)(標題、窗口尺寸)是在 C++代碼中,QML 文件是以 Item (及 以Item為根的組件)作為根對象。

QQuickWidget 加載 QML

示例:

QQuickWidget *view = new QQuickWidget;view->setSource(QUrl::fromLocalFile("myqmlfile.qml"));view->show();

QQuickWidget是繼承于 QWidget 控件,這種方式主要是用于在 QWidget 界面上加載 QML 界面。之前寫過一篇文章,主要講QQuickWidget加載 QML 的設(shè)置背景透明的問題,在這里

總結(jié)

以上是生活随笔為你收集整理的Qt 加载QML 文件的几种方式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。