[Interest] Exposing nested visual properties in FocusScope (alias -> alias problem)
Elvis Stansvik
elvstone at gmail.com
Mon Mar 21 13:37:36 CET 2016
Hi all,
I'm trying to create a reusable component for a button. Right now I'm
trying to figure out focus handling (the app is keyboard navigation
only).
I currently have the following structure (Button.qml):
Rectangle {
id: button
property alias text: text.text
property alias textPixelSize: text.font.pixelSize
width: text.implicitWidth
height: text.implicitHeight
Text {
id: text
...
}
}
Where I'm exposing the text and pixelSize properties of the text by
using property aliases, to be able to use it like:
Button {
text: "Foo bar"
textPixelSize: 42
}
This works fine. But now I'd like the component to be able to
participate in focus handling, so I wrap it in a FocusScope, e.g:
FocusScope {
Rectangle {
id: button
focus: true
property alias text: text.text
property alias textPixelSize: text.font.pixelSize
width: text.implicitWidth
height: text.implicitHeight
Text {
id: text
...
}
}
}
Which should allow me to use it in other nested focus scopes at a
higher level in the visual tree
The problem now is that I must expose the button.text and
button.textPixelSize in the FocusScope, to be able to use the
component as before. But I can't use property aliases again, since a
property alias may not refer to another property alias.
Anyone know how I can get around this?
Thanks in advance,
Elvis
More information about the Interest
mailing list