Добрый вечер StackOverflow. Это мой первый вопрос, поэтому я надеюсь, что он не будет слишком глупым.
У меня есть модель подклассов QAbstractTableModel
который хранит элементы наследования QObject
, Я хочу отобразить список элементов в QComboBox
, который обновляется при изменении модели.
Модель реализует четыре необходимые функции rowCount()
, columnCount()
, data()
а также headerData()
,
Мой вопрос: как используется QAbstractItemModel
в QComboBox
когда используешь QComboBox::setModel()
? (другими словами, должно ли количество столбцов быть равно, например, 1?).
И как выбрать текст, отображаемый для каждого элемента в QComboBox
при использовании QAbstractModel
?
Я нашел objectName()
метод в QObject
но я не совсем уверен в том, как он используется.
Спасибо !
Вы можете создать подкласс вашего QAbstractTableModel, предоставив columnCount (), который возвращает 1.
Затем, когда вы переопределите
QVariant QAbstractItemModel::data(const QModelIndex & index, int role = Qt::DisplayRole)
ты должен реагировать на role
, Если это DisplayRole, вы будете возвращать текст, который вы получаете от объектов вашей модели
Других решений пока нет …