Qt C ++:无法渲染垂直标题

时间:2016-02-01 16:04:00

标签: c++ qt model qabstractitemmodel

我有一个从QAbstractItemModel派生的自定义模型。 data,columnCount,rowCount,parent,index,setData,flags,headerData和setHeaderData都已被覆盖。 flags只返回Qt :: ItemIsEditable(将来) 但问题始于headerData(),似乎Qt :: Vertical作为方向的消息永远不会到达它。所以,根据我的理解,不能有任何垂直标题。 该代码适用于横向:

QVariant MiModeloCalendarioGeneral::headerData(int section, Qt::Orientation orientation, int role) const
{
    qDebug() << "{";
    qDebug() << "Role: " << role;
    qDebug() << "Section: " << section;
    qDebug() << "Orientation: " << orientation;
    qDebug() << "}";
    if (role != Qt::DisplayRole) {
        return QVariant();
    }
    if (orientation == Qt::Horizontal) {
        qDebug() << "Horizontal";
        return fileras[section];
    }
    if (orientation == Qt::Vertical) {
        qDebug() << "Vertical";
        return cabeceras[section];
    }
}

我错过了什么? 我已经检查了两个&#39; cabeceras&#39;和&#39; fileras&#39;有内容。并且setHeaderData函数会发出headerDataChanged信号。

编辑:错字

0 个答案:

没有答案