#include <QtGui>
#include <QDebug>
#include <QStandardItemModel>
int main(int argc, char *argv[])
{
model.setSortRole(Qt::EditRole);
for (int row = 0; row < 10; ++row) {
qreal value = row * 1.2345678;
text.setNum(value, 'g', 10);
// Column with only a user readable DisplayRole
model.setItem(row, 0, item1);
// Column with sortable EditRole
item2->setData(value, Qt::EditRole);
model.setItem(row, 1, item2);
}
tv.setModel(&model);
tv.setSortingEnabled(true);
tv.horizontalHeader()->setSortIndicator(0, Qt::AscendingOrder);
tv.horizontalHeader()->setSortIndicator(1, Qt::AscendingOrder);
tv.show();
return app.exec();
}
// vi: sw=4 ts=4 et
#include <QtGui>
#include <QDebug>
#include <QStandardItemModel>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QStandardItemModel model(10, 2);
model.setSortRole(Qt::EditRole);
for (int row = 0; row < 10; ++row) {
qreal value = row * 1.2345678;
QString text;
text.setNum(value, 'g', 10);
// Column with only a user readable DisplayRole
QStandardItem *item1 = new QStandardItem(text);
model.setItem(row, 0, item1);
// Column with sortable EditRole
QStandardItem *item2 = new QStandardItem(text);
item2->setData(value, Qt::EditRole);
model.setItem(row, 1, item2);
}
QTableView tv;
tv.setModel(&model);
tv.setSortingEnabled(true);
tv.horizontalHeader()->setSortIndicator(0, Qt::AscendingOrder);
tv.horizontalHeader()->setSortIndicator(1, Qt::AscendingOrder);
tv.show();
return app.exec();
}
// vi: sw=4 ts=4 et
To copy to clipboard, switch view to plain text mode
Column 1 sorts based on the string representation. Column 2 sorts numerically but displays in default format.
Bookmarks