【发布时间】:2017-03-07 17:39:51
【问题描述】:
我正在开发一个最终将与串行端口通信的 C++ Qt 项目。其中一部分是访问 C++ 部分中的 QML 对象。我有可以设置 QML 属性的代码,但是现在访问那些作为方法的功能让我很难过。查看以下代码:
object = view.rootObject();
rect = object->findChild<QObject *>("box");
rect->setProperty("color", "red"); // Verifies the object tree is accessible
viewer = object->findChild<QObject *>("viewer"); // Access the viewer text box
viewer->append("dummy text"); // OOPS! This doesn't compile!!!
现在,类型作为方法 setProperty(..),但是如何访问对象的方法。 “查看器”是一个 TextArea,我想先执行 selectAll(),然后执行 cut() 来清除框。
这里的问题是这是如何编码的?谢谢大家。
【问题讨论】:
-
提供 QML 部分。猜测是您应该通过
text的属性viewer进行交谈。 -
QML 看起来像这样。导入 QtQuick 2.0 导入 QtQuick.Controls 1.2 项目 { 宽度:350 高度:450 TextArea { id:查看器 x:8 y:8 宽度:223 高度:415 文本:“文本” font.pixelSize:12 objectName:“查看器”} 按钮{ id: open x: 251 y: 8 text: "Open" } }
-
@JoeVoytovich - 下次在问题中包含 QML 代码,它可以正确格式化。