QComboBox in QTreeView-cell



我想在QTreeView的特定单元格中显示一个QComboBox。我知道我必须使用自己的模型。整个事情已经与单元格中显示的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代替愚蠢的图标吗?

谢谢!

不,model仅用于视图中的数据句柄,而不是用于更改视图。你需要学习和使用:QItemDelegate(很抱歉没有在这里展示所有的代码,它需要空间和时间……)你可能要花时间去阅读tuto和相关文件……希望能有所帮助)

tuto for QItemDelegate

QItemDelegate API类Qt5

相关内容

  • 没有找到相关文章

最新更新