QComboBox в QTreeView-ячейке

Я хочу показать QComboBox в определенных ячейках QTreeView. Я знаю, что должен использовать собственную модель для этого. Все это уже работает должным образом с QIcons, показанными в ячейке, но я не могу сделать то же самое с выпадающим списком. Вот как выглядит моя модель (какой-то неполный псевдокод):

QVariant MyListModel::data(const QModelIndex &index, int role) const
{
...

switch(role)
{
...
case Qt::DecorationRole:
switch(index.column())
{
case eBLA:
// return QIcon(); --> compiles properly
return m_placePosCombos[index.row()]; --> compilation fails
return QComboBox(); --> compilation fails
break;
default:

Как только я пытаюсь вернуть QComboBox, я получаю ошибку компиляции

cannot convert from 'const QComboBox' to 'QVariant'

MyListModel наследуется от QAbstractListModel.

Любая идея, что я должен сделать, чтобы использовать QComboBox вместо глупой иконки?

Спасибо!

-1

Решение

Нет, модель предназначена только для обработки данных в представлении, а не для изменения представления.
Вы должны изучить и использовать:
QItemDelegate (извините за не показывать вам здесь весь код, для этого нужно место и время для этого … время, которое вам, возможно, придется читать tuto и относительный документ … надеюсь, это поможет)

Туто для QItemDelegate

QItemDelegate API класс Qt5

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]