Как использовать модель для QCombobox
Я хочу использовать QCombobox Как Combobox of Swing на Java. Поэтому мне нужно использовать Model для удержания моего объекта. Как я могу держать свой объект в QCombobox. (Я думаю, что я должен держать данные в модели, потому что QCombobox был разработан в соответствии с шаблоном MVC ... )
Любая помощь будет оценена.
3 ответов
в зависимости от того, что вы хотите отобразить с QComboBox, вам нужно будет написать свою собственную модель, наследуя QAbstractListModel, reimplementing rowCount()и data().
затем используйте QComboBox::setModel() сделать QComboBox отобразить его.
если вы просто хотите, чтобы отобразить строки, вы можете использовать QStringListModel, поставляется с Qt.
вы можете добавить модель в свой QCombobox с помощью setModel
Qt использует упрощенную версию MVC, которая имеет только части модели / представления.
вы можете использовать один из предложенных подклассов помощью переопределенной QAbstractItemModel если вам не нужно какое-либо специализированное поведение, какое из них использовать, зависит от того, храните ли вы свои данные в файловой системе или структуре данных в памяти.
вы должны прочитать весь раздел модель/вид программирования в документации Qt.