Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ComboBox Popup not showing all items

I am using Qt 5.9.1, and the following ComboBox's popup doesn't display all the elements:

import QtQuick 2.9
import QtQuick.Window 2.2
import QtQuick.Controls 2.2

Window {
    visible: true
    width: 640
    height: 480
    title: qsTr("Hello World")

    ComboBox{
        id:comboNum
        width:parent.width * 0.30
        height:parent.height * 0.15
        model: ["12","23","78","23","45","70"]
        currentIndex: 0

        popup: Popup{
            id:popup
            y: comboNum.height - 1
            width: comboNum.width
            height: comboNum.height * 2
            padding: 1

            contentItem: ListView {
                id: listview
                implicitHeight: popup.height
                clip: true
                model:comboNum.delegateModel
                currentIndex: comboNum.highlightedIndex
                interactive: true
                highlightMoveDuration: 0
                boundsBehavior: ListView.StopAtBounds

                ScrollBar.vertical:ScrollBar {}
            }
        }
    }
}

Why is that, and how do I fix it?

like image 365
pra7 Avatar asked Sep 20 '25 23:09

pra7


1 Answers

Looking at the customisation docs, I can see that it sets a model conditionally, based on whether or not the popup is visible. Doing the same for your snippet makes it work for me:

model: popup.visible ? comboNum.delegateModel : null

However, the Default style implementation of ComboBox doesn't do that, so I'm not sure why it's necessary in your case.

like image 186
Mitch Avatar answered Sep 23 '25 11:09

Mitch