> -----Original Message-----
> From: Interest <[email protected]> On Behalf Of Cathal
> Tummon (ctummon) via Interest
> Sent: Friday, 27 January 2023 7:00 PM
> To: [email protected]
> Subject: [Interest] QML TextArea : Wrapping placeholder text?
>
> Hi all,
>
>
>
> Just wondering if there is a recommended way of getting the placeholder
> text <https://doc.qt.io/qt-5/qml-qtquick-controls2-
> textarea.html#placeholderText-prop> of a TextArea to word wrap?
>
> I assume it will have to be some combination of TextMetrics and manually
> calculating where to add new line characters?
>
> (My google and forum/doc searches are not proving very fruitful)
>
>
>
> Many thanks,
>
> Cathal
You'd need to access the placeholder text item using the children property and
then use a Binding to enable wrapping:
import QtQuick
import QtQuick.Controls
ApplicationWindow {
width: 300
height: 300
visible: true
TextArea {
id: textArea
width: parent.width
placeholderText: "Some long placeholder text. Some long placeholder
text."
property Text placeholder: children[0]
Binding {
target: textArea.placeholder
property: "wrapMode"
value: Text.Wrap
}
}
}
There was initially a "placeholder" item, but it was removed in
https://codereview.qt-project.org/c/qt/qtquickcontrols2/+/139445, with the
commit message stating:
> Better not expose the extra Text item in the API. Ideally it should
> be implemented as a scenegraph node. We might even want to promote
> the placeholderText property (and add placeholderColor) to TextInput
> and TextEdit in Qt Quick core.
The disadvantage of the current approach is that the placeholder text item is
not accessible, and so we have to forward any properties (like text and colour)
that we want the user to be able to access. I can imagine the number of those
properties will only continue to grow if we stick with this approach, too.
However, it's also worth noting that the Material 3 guidelines, for example,
recommend against eliding or wrapping placeholder text:
https://m3.material.io/components/text-fields/guidelines#becfff8e-6128-4f98-8a3c-cf5a5ee1ce72
_______________________________________________
Interest mailing list
[email protected]
https://lists.qt-project.org/listinfo/interest