2015-10-11 13 views
6

Tôi tìm thấy bài đăng cũ hơn này có cùng vấn đề: How to mock a QML componentQML UnitTest thiếu thuộc tính ngữ cảnh C++

Thật không may, không có giải pháp. Để tóm tắt lại vấn đề: Tôi có QML TestCase để nhập mô-đun. Nhưng mô-đun này dựa trên một số root context property, thông thường sẽ được thêm vào trong main.cpp. Vì đây là số TestCase, tôi không có ảnh hưởng đến cách khởi động QQmlApplicationEngine.

Tôi làm cách nào để thêm thuộc tính ngữ cảnh bị thiếu?

Trả lời

0

Bạn có thể lấy phiên bản QQmlEngine bằng cách chuyển mục QML sang bên C++, nơi bạn có thể sử dụng phương thức qmlEngine.

Vì vậy, bạn có thể đặt thuộc tính ngữ cảnh bằng cách gọi

qmlEngine(passedQmlItem)->rootContext()->setContextProperty("propertyName", propertyValue); 
Các vấn đề liên quan