QCombobox with model: Can't select from list



  • I am seeing some weird behavior from my QCombobox, and I'm hoping someone can help me understand what is going on.

    I've got a dialog that has a QCombobox in it. I am using a QAbstractListModel and QSortFilterProxyModel to populate the QCombobox's list view. This all seems to be working.

    Initially the list is empty. If type a new entry into the QCombobox and click on my 'OK' button, the CurrentIndex is set to -1 (which I expect), and I add the new entry to my data source. This all seems to be working.

    If I open my dialog again (now there is one item in the list), I can click on the drop-down arrow on the QCombobox, and I will see the new entry in the list, but I cannot select it. Even if I don't view the list, if I type a new entry into the QCombobox and click 'OK', I find the CurrentIndex is set to 0.

    What am I doing wrong?



  • Could you verify that the model behaves as expected outside of the contect of a QComboBox? Preferably by using the ModelTest tool, but if needed by just putting it in a list view?



  • I added a list view, and it looks correct. I also noticed that if I don't try to select from the combobox's list, my currentIndex stays at -1 like it should.

    If I try to select from the list, the currentIndex is updated correctly, but the selected item is not displayed by the combobox.



  • In the virtual function data() , when the role == Item::EditRole | Item::DisplayRole, valid data should be returned.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.