Show other data in QTableView with QItemDelegate

c++, qitemdelegate, qt, qt4, qtableview

Solution

An item delegate doesn't necessarily change the data, it just renders the data. Also, if you're using Qt 4.4 or newer, look at QStyledItemDelegate instead--it's theme-aware and will look nicer.

There's an example of item delegates in this article (which seems to be a mirror of official documentation that is now down or gone).

Since all you really want to do is customize the text, have you considered using a proxy model instead and just returning your custom QString for the date column's DisplayRole?

Problem

I have a QTableView connected with an QSqlTableModel. In the first column, there are only dates at this format: `2010-01-02` I want this column to show the date at this format (but without changing the real data): `02.01.2010` I know that I have to create an QItemDelegate for this column, but I don't know how I can read the existing data and overwrite it with something different. You have any idea how to manage that?

Original source