QtRuby: How to edit data in a TableModel/TableView?

Hello all,

I have the following code:

class CustomerTableModel < Qt::AbstractTableModel
    ...

    def flag index
       return Qt::ItemIsEditable
    end

    def setData index, value, role = Qt::EditRole
        if (index.isValid() && role == Qt::EditRole)
            update_value(index.row(), value.to_s)
            emit dataChanged(index, index)
            return true
        end
        return false
     end
end

TableView show all data but I can’t edit. I’m reading
http://qt-project.org/doc/qt-4.8/model-view-programming.html#making-the-model-editable
but doesn’t work. Should I add something to the tableView?
Can please anyone tell me what I do wrong?

Hi, I think “flag” should be “flags” and you probably also should return
the ItemIsEnabled flag e.g.:
return (Qt::ItemIsEditable | Qt::ItemIsEnabled)

Cees Z. wrote in post #1061140:

Hi, I think “flag” should be “flags” and you probably also should return
the ItemIsEnabled flag e.g.:
return (Qt::ItemIsEditable | Qt::ItemIsEnabled)

Jajajajja I’m an idiot and you are right method is “flags” and not
“flag”.
Thank you very much!

Now when I double click in a cell the text disappears. I want to keep
the text