首页 > 其他 > 详细

QTableView单元格编辑:如何双击之后内容处于被选中状态

时间:2021-06-15 16:07:18      阅读:18      评论:0      收藏:0      [点我收藏+]

使用QTableView单元格编辑功能时,遇到了以下问题:

重载Qt::ItemFlags flag(const QModelIndex & index) const函数,来指定单元格属性为可编辑状态,

Qt::ItemFlags dataModel::flags(const QModelIndex& index) const
{
    return Qt::ItemIsEditable | QAbstractTableModel::flags(index);
}

结果为,双击可编辑,但单元格内容置空,未修改退出编辑状态,内容变为0。

应该这样修改,即可双击单元格进入编辑状态,内容处于被选中状态,

QVariant dataModel::data(const QModelIndex &index, int role) const
{
    if (!index.isValid())
        return QVariant();

    if (role == Qt::TextAlignmentRole)
    {
        return int(Qt::AlignRight | Qt::AlignVCenter);
    }
    else if (role == Qt::DisplayRole  || role == Qt::EditRole)  //就是这个地方
    {
        switch ( index.column() )
        {
            //to do ...
        }
    }

    return QVariant();
}

 

QTableView单元格编辑:如何双击之后内容处于被选中状态

原文:https://www.cnblogs.com/hik-wxy/p/14885427.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!