Me3nTaL
Me3nTaL

Reputation: 159

QML ComboBox - displayed text left-alignment

In QML my ComboxBox has items with large words which cannot be fully displayed in the textfield. When opening the drop-down the items are getting cut at the right end. For that I use elide: Text.ElideRight. This works fine. But when I select an item and it is getting displayed on the ComboBox, the Text is "scrolled" to the right and I cannot see the beginning. But I have to see the beginning of the display-text and not the end.

I tried several things with my contentItem-delegate, but thats just for the Items in the DropDown-List and not for the ComboBox-own TextField when the Popup ist closed.

enter image description here The selected Item has the cursor at the right and the text is scrolled to the right. I want it to be scrolled to the left and maybe cut it at the right end.

Upvotes: 2

Views: 1415

Answers (1)

Tarod
Tarod

Reputation: 7170

Maybe using the proper contentItem? This is working for me.

import QtQuick 2.5
import QtQuick.Controls 2.2
import QtQuick.Window 2.2

Window {
    visible: true
    width: 300
    height: 300

    ComboBox {
        width: 300

        contentItem: Text {
            text: parent.displayText
            font.family: "Arial";
            font.pixelSize: 39;
            verticalAlignment: Text.AlignVCenter;
            horizontalAlignment: Text.AlignLeft;
            elide: Text.ElideRight
        }

        model: ListModel {
            id: model
            ListElement { text: "This is an example 0123456789 0123456789" }
            ListElement { text: "Another example with long text" }
            ListElement { text: "Last example" }
        }
    }
}

Upvotes: 2

Related Questions