QtObject使用

QtObject类型是一个非视觉元素,它仅包含ObjtNeX属性。如果您需要一个非常轻量级的类型来包含一组自定义属性,那么创建一个QtObject会非常有用。

objectName: 属性保存此特定对象实例的QObject::objectName。

这允许C++应用程序使用QObj::FieldHub()方法在QML组件中定位一个项目。例如,下面的C++应用程序定位子矩形项目并动态地改变其颜色值:

// MyRect.qml

  import QtQuick 2.0

  Item {
      width: 200; height: 200

      Rectangle {
          anchors.fill: parent
          color: "red"
          objectName: "myRect"
      }
  }

 

// main.cpp

  QQuickView view;
  view.setSource(QUrl::fromLocalFile("MyRect.qml"));
  view.show();

  QQuickItem *item = view.rootObject()->findChild<QQuickItem*>("myRect");
  if (item)
      item->setProperty("color", QColor(Qt::yellow));

 

posted @ 2021-02-27 07:34  countryboy666  阅读(462)  评论(0编辑  收藏  举报