【问题标题】:QTableView cell data disapears when the cell is activated激活单元格时QTableView单元格数据消失
【发布时间】:2013-03-03 00:41:56
【问题描述】:

我正在使用 QT5.0 和 QT 新手开发一个应用程序。糟糕的是,我没有太多时间来学习漫长的学习曲线。 我已经派生了自己的 TableModel 并将其设置为可编辑的 TableView。 TableView 显示模型的数据,它可以工作。但是当我在表格视图上激活一个单元格时,数据就会消失。我查看了文档,发现 QTableView 是从 QAbstractItemView 类派生的,该类有一个名为“激活”的信号和一个名为“编辑”的插槽。所以,我认为“激活”信号连接到“编辑”插槽。但是“编辑”不是虚拟的,所以我不能覆盖它。我可以将我的子类连接到父母的“激活”信号,但实际上我不知道如何处理这个信号以保存 TableView 对象的当前数据。 如果代码使用SqlTableModel 是没有问题的。我认为它处理“激活”信号,但我不确定这些,只是推测.. 这样做的正确方法是什么?

【问题讨论】:

    标签: qt


    【解决方案1】:

    检查你的数据功能:

    QVariant TableModel::data(const QModelIndex &index, int role) const
        if( !index.isValid() )
            return QVariant();       
        if( role == Qt::DisplayRole || role == Qt::EditRole) {
            return <your data>
        }
        return QVariant();
    }
    

    确保您处理EditRole 角色。

    祝你好运!

    【讨论】:

      猜你喜欢
      • 2022-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      • 2017-09-28
      • 2012-01-18
      相关资源
      最近更新 更多