PDA

View Full Version : QML PieMenu creation error



MarkoSan
1st February 2018, 14:24
I have following QML PieMenu, based on it's docs (http://doc.qt.io/QtQuickEnterpriseControls/qml-qtquick-enterprise-controls-piemenu.html#details):


import QtQuick 2.10
import QtQuick.Layouts 1.3
import QtQuick.Controls 2.3
import QtQuick.Extras 1.4

PieMenu
{
signal ueSignalRFIDOperationInfo();
signal ueSignalRFIDOperationPair();
signal ueSignalRFIDOperationIgnore();
signal usSignalRFIDOperationDelete();

MenuItem
{
text: qsTr("Info")

onTriggered:
{
ueSignalRFIDOperationInfo();
} // onTriggered
} // MenuItem

MenuItem
{
text: qsTr("Pair")

onTriggered:
{
ueSignalRFIDOperationPair();
} // onTriggered
} // MenuItem

MenuItem
{
text: qsTr("Ignore")

onTriggered:
{
ueSignalRFIDOperationIgnore();
} // onTriggered
} // MenuItem

MenuItem
{
text: qsTr("Delete")

onTriggered:
{
usSignalRFIDOperationDelete();
} // onTriggered
} // MenuItem
} // PieMenu

Because of it, my app crashes:


W/libRFIDMonitorApp.so(17663): (null):0 ((null)): QQmlApplicationEngine failed to load component
W/libRFIDMonitorApp.so(17663): (null):0 ((null)): qrc:/main.qml:69 Type UeQMLDelegates.UeDelegateBtDiscoveredDevices unavailable
W/libRFIDMonitorApp.so(17663): qrc:/gui/elements/delegates/UeDelegateBtDiscoveredDevices.qml:122 Type UeQMLElements.UeRFIDOperationMenu unavailable
W/libRFIDMonitorApp.so(17663): qrc:/gui/elements/UeRFIDOperationMenu.qml:13 Cannot assign object to list property "menuItems"

Now, if I exclude this menu from app, the app works. I've built the PieMenu according to docs, so, what am I missing? I am using Qt 5.10 Opensource on ArchLinux, deploying app to Android 4.2.2.

MarkoSan
6th February 2018, 08:40
I've managed to solve the problem. I've included:


import QtQuick.Controls 2.3

instead of


import QtQuick.Controls 1.4

It works now, however, can someone explain me these import "versions". Why higher version does not support MenuItem and lower does?