2

我需要 QTableView 的项目的小数点后指定位数,所以我写了一个简单的委托。

class TableItemDelegate : public QStyledItemDelegate
{

   Q_OBJECT

public:

   TableItemDelegate(QObject *parent = 0) : QStyledItemDelegate(parent) {}

   QString displayText(const QVariant & value, const QLocale & locale)
   {
     QString str = QString::number(value.toDouble(), 'f', 8);
     return str;
   }
};

但它不起作用,调用了构造函数,而不是 displayText() 函数。

TableItemDelegate *decDelegate = new TableItemDelegate(tableView);
tableView->setItemDelegate(decDelegate);

我做错了什么?

4

1 回答 1

4

未调用您的方法,因为您忘记了const函数签名末尾的说明符:

QString displayText(const QVariant & value, const QLocale & locale ) const
于 2012-04-08T20:25:11.830 回答