Cannot find StackView.qml
Unsolved
General and Desktop
-
Hi All,
I'm trying to launch my application on RPi3 - for this I have cross compiled Qt 5.9.1 and after that compiled separately QtQuick.Controls module.
For some reason every time I launch my application I'm getting following output which ends with message indicating that StackView.qml was't found:
root@raspberrypi:/opt# ./HomeScreenTest QML debugging is enabled. Only use this in a safe environment. QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root' Unable to query physical screen size, defaulting to 100 dpi. To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters). "en_US" QQmlApplicationEngine failed to load component qrc:/qml/main.qml:44 Type MyStackView unavailable qrc:/qml/components/MyStackView.qml:8 Type StackView unavailable qrc:/QtQuick/Controls/StackView.qml:-1 No such file or directory
I have built QtQuick.Controls module separately and added it to qml older of Qt Version on Raspberry device:
root@raspberrypi:/usr/local/qt5/qml/QtQuick/Controls# ls ApplicationWindow.qmlc GroupBox.qmlc Private SpinBox.qmlc Styles TextArea.qmlc BusyIndicator.qmlc Label.qmlc ProgressBar.qmlc SplitView.qmlc Switch.qmlc TextField.qmlc Button.qmlc libqtquickcontrolsplugin.so qmldir StackViewDelegate.qmlc TableViewColumn.qmlc ToolBar.qmlc Calendar.qmlc MenuBar.qmlc RadioButton.qmlc StackView.qmlc TableView.qmlc ToolButton.qmlc CheckBox.qmlc Menu.qmlc ScrollView.qmlc StackViewTransition.qmlc Tab.qmlc TreeView.qmlc ComboBox.qmlc plugins.qmltypes Slider.qmlc StatusBar.qmlc TabView.qmlc
qml/components/MyStackView.qml:
import QtQuick 2.0 import QtQuick.Controls 1.4 import net.myplugin.dima 1.0 import "qrc:/qml/Paths.js" as Paths StackView { id: root delegate: StackViewDelegate { // remove all default animations } function pushStack(screenIndex, clearStack) { if (screenIndex===ScreenNames.SCREEN_HOME) { root.clear(); clearStack = false; // skip this, as not needed any more } if (clearStack) { console.log("clear stack") //root.clear(); root.pop({item: root.get(0)}); // always keep root in stack } root.push({item: resolveScreenUrl(screenIndex), immediate:true, properties: {stackView: root, screenIndex: screenIndex, name: ScreenNames.resolveScreenName(screenIndex)}}); } function resolveScreenUrl(screenIndex) { return Paths.screen(ScreenNames.resolveScreenUrl(screenIndex) + ".qml"); } }
Does anyone have any idea what could cause such behavior or what else I can check for additional information?