0

我在我的应用程序的主要方法中设置了一个上下文对象:

// Load the UI description from main.qml
QmlDocument *qml = QmlDocument::create("asset:///main.qml").parent(&app);

// Make the Corporate object available to the UI as context property
qml->setContextProperty("_corporate", new Corporate(&app));

但是我无法从onTouch方法中访问 _corporate 对象,同时在 onTriggered 方法中正确访问了 _corporate 对象。这是代码:

ListView {
                dataModel: _corporate.model
                id: myListView
                listItemComponents: [ 
                      ListItemComponent {
                          id: groupItemComponent
                          type: "groupItem"

                          StandardListItem {
                              id: groupListItem
                              title: qsTr ("%1").arg(ListItemData.firstRow)
                              description: ListItemData.secondRow
                              onTouch: {

                                  _corporate.currentView = 3
                              }
                          }
                      }
                  ]
                onTriggered: {
                      _corporate.currentView = 3

                }
}

我究竟做错了什么?

4

1 回答 1

1

_corporate 不能从 ListItemComponent 中访问。

您必须以另一种方式授予访问权限:

  • 访问方式:groupListItem.ListItem.view.getCorporate();
  • 在 listView 中定义一个 javascript 函数: function getCorporate(){return _corporate;}
于 2013-01-16T15:01:28.073 回答