![](/img/trans.png)
[英]How to create QQuickWindow as a child from a C++ extended QQuickItem?
[英]How to create a dummy QQuickItem in C++ at runtime
我正在使用Qt 5.7
和使用gtest
或稱為googletests的單元測試。
我有一個功能來測試哪個攝入QQuickItem
。 為了測試這一點,我想在運行單元測試時動態創建一個QQuickItem
。 可能嗎?
請注意,我確實有權訪問QQmlApplicationEngine
或任何main.qml
文件(如main.qml
。 但是,我應該能夠在測試項目的資源中創建一個dummy.qml
嗎?
我還認為執行#include <QQmlApplicationEngine>
應該可以訪問QQmlApplicationEngine
?
如何在單元測試中以有效的寬度和高度在C ++代碼中創建偽QQuickItem
,並在運行時將其傳遞給我的方法?
具有隔離的QQuickItem
對象進行測試的最簡單方法是使用QQuickView
:
QQuickView * view = new QQuickView;
view->setSource(QUrl(QStringLiteral("qrc:/dummy.qml")));
QQuickItem * dummyItem = view->rootObject();
由於受歡迎的需求:
// dummy.qml
import QtQuick 2.0
Item {
width: 200
height: 200
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.