On 01/22/2014 10:24 AM, André Somers wrote: > If you want to modify it at the 'view' end, you should use a > QStyledItemDelegate subclass and install that on the view, or on a > specific column of the view. I did that exactly but unfortunately it didn't work :(
May you please tell me what's wrong?! I'm still get "5.25446e+06" for "5254458.963" I call the following: --- ui->tableView->setModel(_tableModel); ui->tableView->resizeColumnsToContents(); EcsLongDigitDelegate *delegate = new EcsLongDigitDelegate; ui->tableView->setItemDelegateForColumn(2, delegate); --- Database table (SQLite): --- CREATE TABLE "names" ("id" INTEGER PRIMARY KEY NOT NULL ,"nam_full_name" TEXT,"nam_id" DOUBLE DEFAULT (null) ); --- Delegate class: --- #include "ecslongdigitdelegate.h" EcsLongDigitDelegate::EcsLongDigitDelegate(QObject *parent) : QStyledItemDelegate(parent) { } QWidget *EcsLongDigitDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const { QDoubleSpinBox *editor = new QDoubleSpinBox(parent); editor->setFrame(false); editor->setMinimum(0); editor->setDecimals(3); editor->setMaximum(999999999999); return editor; } void EcsLongDigitDelegate::setEditorData(QWidget *editor, const QModelIndex &index) const { double value = index.model()->data(index, Qt::DisplayRole).toDouble(); QDoubleSpinBox *spinBox = static_cast<QDoubleSpinBox*>(editor); spinBox->setValue(value); } void EcsLongDigitDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const { QDoubleSpinBox *spinBox = static_cast<QDoubleSpinBox*>(editor); spinBox->interpretText(); double value = spinBox->value(); model->setData(index, value, Qt::DisplayRole); } void EcsLongDigitDelegate::updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &index) const { editor->setGeometry(option.rect); } --- -- Best Regards, Muhammad Bashir Al-Noimi _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest