Qml C++找到孩子
Qml C++ Find Child
我有一个main.qml,其中插入了一个MainPage.qml:
initialPage: MainPage {tools: toolBarLayout}
因为我选择为Symbian制作它。当我尝试时:
QObject *mainPage = rootObject->findChild<QObject*>("MainPage");
if (mainPage)
QDeclarativeProperty(mainPage, "toets").write(3);
消息没有通过,但没有错误,我也尝试使用"if(主页("将 SIGNAL 连接到主页上的插槽,但它也没有响应。我已经设法将信号传递到main,但是当我尝试时:
function changeNum(num)
{
MainPage.changeNum(num)
}
该函数永远不会被执行,因为我没有从控制台收到消息.log这与主函数运行时的情况完全不同。我也知道其他方法不起作用,因为也没有记录消息或执行其其余功能。
我认为问题可能出在主页未创建为具有 id 的元素。你知道是什么原因造成的吗?
>findChild
不查找id
而是查找objectName
属性,您可以简单地将其添加到MainPage
对象中(请参阅文档(:
initialPage: MainPage {
objectName: "MainPage"
tools: toolBarLayout
}
您还可以通过rootObject
的 initialPage
属性访问该对象,而无需添加 objectName
属性:
QObject * mainPage = QDeclarativeProperty(rootObject, "initialPage").object();
if (mainPage)
QDeclarativeProperty(mainPage, "toets").write(3);
相关文章:
- 更改"child's parent's style sheet"时如何将孩子的样式表重置为 Qt 默认样式表?
- 为什么 isVisible 在 QWidget 孩子中不起作用
- OOP使用不同的结构与孩子一起构建建议
- c ++如何将模板应用于模板类的孩子/朋友?
- 如何防止父进程在孩子死后丢失控制台输入?
- 我可以制作一个基于孩子具有不同回报的虚函数吗?
- C 从子线中杀死所有父母的孩子
- 为什么父母的方法在孩子被摧毁后仍然存在
- 有没有办法按类名找到 QObject 孩子?
- 如何在树上像孩子一样使用unique_ptr
- 破坏的父母和孩子的顺序
- 如果是双重注册,如何从Boost树中删除孩子
- 将PID从孩子转移到父母
- 使用boost.process同时读取和写入孩子的STDIO
- 从家长处获取孩子的类名
- 在我关闭刚开始的孩子对话框并进入父母对话框之后,我的QT桌面应用程序不断崩溃
- 添加一个孩子(引擎统一)
- 如果孩子不需要父母班级的所有受保护成员,这是不好的班级设计吗?
- 我怎样才能得到一个QObject的孩子?
- 如何从父级C 发送给孩子的唤醒信号