Qt 6.11 is out! See what's new in the release
blog
Rules for accessing QML properties?
-
Are there any special rules that apply for accessing properties in a QML file from another QML file?
I've been going around in circles for the last two days trying to figure out why one QML file cannot see a property from another.
For example I have two QML files:
ModeSelection.qml ModePreview.qmlModeSelection contains a boolean property defined as follows:
import QtQuick 2.7 import QtQuick.Controls 2.1 import QtGraphicalEffects 1.0 import ModePreviewManager 1.0 import "../Utils" import MerlinStyle 1.0 Rectangle { id: root property bool forceHightlight: false ...There is quite a lot more to it, then this is referenced by ModeDetals.qml
import QtQuick 2.7 import QtQuick.Controls 2.1 import QtQuick.Controls.Styles 1.4 import QtQuick.Layouts 1.3 import QtGraphicalEffects 1.0 import ModePreviewManager 1.0 import "../Utils" import "../Utils/imagepaths.js" as ImagePaths import "../Style" as Merlin import MerlinStyle 1.0 Item { /* Properties */ Item { id: modeSelectionArea ModeSelection { id: localMode .... } ModeSelection { id: machineMode ... } Connections { target: modeSelectionArea onRefreshHighlight: { joiner.visible = (ModeSelection.forceHightlight == true) } } ...The use of ModeSelection in the QML to define objects if ok, but in script ModeSelection is not defined and I can see that in the debugger, also an error is displayed in the Application Output that ModeSelection is undefined.
What is going wrong or what needs to be done?