Wywołanie z funkcji w QML?
Mogę łatwo udostępnić element za pomocą InvokeActionItem na stronie, ale muszę mieć możliwość wywołania go w elemencie listview. Udało mi się wyzwolić wywołanie, ale nie mogę dowiedzieć się, jak dodawać dane podczas uruchamiania. Ciągle otrzymuję komunikat o błędzie
InvocationPrivate :: setQuery: nie możesz zmieniać obiektu InvokeQuery
Uwaga: Próbuję to zrobić w czystym QML, zrobię to za pomocą c ++, jeśli to konieczne, ale lepiej byłoby QML.
Kod, który działa wewnątrz obiektu strony:
actions: [
InvokeActionItem {
ActionBar.placement: ActionBarPlacement.OnBar
title: "Share"
query {
mimeType: "text/plain"
invokeActionId: "bb.action.SHARE"
}
onTriggered: {
//myTextProperty is a string variable property for the page.
data = myTextProperty;
}
}
]
Kod, którego próbowałem użyć w innym elemencie, jest następujący, ale NIE działa:
Container {
gestureHandlers: [
TapHandler {
LongPressHandler {
onLongPressed: {
console.log("Longpress");
invokeQuery.setData("test");
invokeShare.trigger("bb.action.SHARE");
}
}
]
attachedObjects: [
Invocation {
id: invokeShare
query: InvokeQuery {
id:invokeQuery
mimeType: "text/plain"
}
}
]
}
Czy istnieje sposób na zmianę danych dla wywołania wyłącznie za pomocą QML lub czy muszę go uruchomić po prostu za pomocą c ++?