簡體   English   中英

如何在運行時使用C ++創建虛擬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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM