setContextProperty 和 setProperty 之间的区别
Diiference between setContextProperty and setProperty of object
我现在真的很困惑
两者之间有什么区别
QQmlApplicationEngine engine;
engine.rootContext().setContextProperty("myObject",&userData);
和
object->setProperty("myObject", myObject)
这是 QML 文件
ApplicationWindow {
id: applicationWindow1
Item {
id: propertyHolder
property MyObject myObject
}
我已经阅读了如何使用QML绑定,但仍然没有弄清楚。请帮忙谢谢
编辑 : =========================我在这里附加了代码片段
ApplicationWindow {
id: applicationWindow1
Item {
id: propertyHolder
property MyClass myClass
}
Button {
onClicked :
propertyHolder.myClass.doSomething()
}
主.cpp
QQmlApplicationEngine engine;
QQmlContext* context = engine.rootContext();
MyClass myClass;
context->setContextProperty("myClass",&myClass);
engine.load(QUrl("qrc:///mainControl.qml"));
当我单击按钮时,它给了我调用方法的空错误我哪里做错了?
setProperty
是QObject
的成员,用于为QObject
的属性设置值。而 setContextProperty
是类QQmlContext
的成员,用于在 qml 上下文中设置 name 属性的值。您可以在Qt文档中阅读有关QQmlContext
:
每个 QQmlContext 都包含一组属性,不同于其 QObject 属性,允许将数据显式绑定到 按名称分类的上下文。上下文属性由 调用 QQmlContext::setContextProperty()。
相关文章:
- C++中std::resize(n)和std::shrink_to_fit之间的区别
- int(c) 和 c-'0' 之间的区别。C++
- C++ 使用 assign 函数的字符串与直接使用 '=' 更改值的字符串之间的区别
- std::atomic和std::condition_variable wait,notify_*方法之间的区别
- 我是C++编程的新手,这些代码之间有什么区别,我应该使用哪一个
- 在 const 函数中通过引用和指针返回之间的区别
- 我想知道长双倍和双倍之间的区别
- 这 4 个 lambda 表达式之间有什么区别?
- 结构体 S { int align; } 之间的区别;(struct 关键字后的名称)和 struct { int al
- (double) 和 double() 之间的区别
- & 和 * 之间的区别
- std::is_convertible 和 std::convertible_to 之间的区别(在实践中)?
- 析构函数和'delete'之间的区别
- 在 typedef 内部使用 const 关键字和在 typedef 外部使用 const 关键字之间有区别吗?
- 从预序遍历构造 bst 的 c++ 和 python 解决方案之间的区别
- vector.back() 和 vector[vector.size() - 1] 之间的区别?
- 空指针常量 (nullptr)、空指针值和空成员指针值之间有什么区别?
- 函数签名与调用的函数不匹配,常量字符[]和字符*之间的区别?
- OpenMP #pragma omp for v/s #pragma omp parallel for 之间的区别?
- S() 与 S{} 之间的区别?