QML: CheckBox and RadioButton with word wrap feature
Standard QML CheckBox and RadioButton controls can be used in a very easy way but, at least until the current date, it have the problem if the text go over the parent control container is not automatically moved to the next line but is simply cutted out. This missing feature is called word wrap.
Fortunately this feature can be easily added by using a bit of additional code. The two examples below are standard code working in the "wrong" way by cutting out the long text:
CheckBox { id: myCheckBox text: qsTr("This is a very very very very very very very long text") } RadioButton { id: myRadioButton text: qsTr("This is a very very very very very very very long text") }
To add the required word wrap we just have to customize contentItem of the control by using a Label control for the text, this because this control have the word wrap option as follow (in red the additional code):
CheckBox { id: myCheckBox width: parent.width text: qsTr("This is a very very very very very very very long text") contentItem: Label { text: myCheckBox.text font: myCheckBox.font horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter leftPadding: myCheckBox.indicator.width + myCheckBox.spacing wrapMode: Label.Wrap } } RadioButton { id: myRadioButton width: parent.width text: qsTr("This is a very very very very very very very long text") contentItem: Label { text: myRadioButton.text font: myRadioButton.font horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter leftPadding: myRadioButton.indicator.width + myRadioButton.spacing wrapMode: Label.Wrap } }
That's all, very simply as quite everything using great QML!
Comments
Post a Comment