Как использовать модель для 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.