我需要QTableView的项目的小数点后指定位数,所以我写了一个简单的委托(delegate)。
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);
我做错了什么?
最佳答案
您的方法未被调用,因为您忘记了函数签名末尾的 const
说明符:
QString displayText(const QVariant & value, const QLocale & locale ) const
关于c++ - QTableView委托(delegate)小数点后的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10064149/