10 #include <QDoubleSpinBox>
15 : QStyledItemDelegate(parent) {}
19 const QStyleOptionViewItem & ,
20 const QModelIndex & )
const {
21 QDoubleSpinBox *editor =
new QDoubleSpinBox(parent);
22 editor->setSingleStep(0.1);
23 editor->setFrame(
false);
24 editor->setDecimals(2);
25 editor->setMinimum(-INT_MAX);
26 editor->setMaximum(INT_MAX);
32 const QModelIndex &index)
const {
33 qreal value = index.model()->data(index, Qt::EditRole).toDouble();
34 QDoubleSpinBox *spinBox =
static_cast<QDoubleSpinBox *
>(editor);
35 spinBox->setValue(value);
39 QAbstractItemModel *model,
40 const QModelIndex &index)
const {
41 QDoubleSpinBox *spinBox =
static_cast<QDoubleSpinBox *
>(editor);
42 spinBox->interpretText();
43 qreal value = spinBox->value();
45 model->setData(index, value, Qt::EditRole);
50 const QStyleOptionViewItem &option,
51 const QModelIndex & )
const {
52 editor->setGeometry(option.rect);
DoubleSpinBoxDelegate(QObject *parent=0)
void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const Q_DECL_OVERRIDE
void updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &index) const Q_DECL_OVERRIDE
void setEditorData(QWidget *editor, const QModelIndex &index) const Q_DECL_OVERRIDE
QWidget * createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const Q_DECL_OVERRIDE