40 lines
1.2 KiB
C++
40 lines
1.2 KiB
C++
#include "itemtextdelegate.h"
|
|
|
|
#include <QLineEdit>
|
|
|
|
ItemTextDelegate::ItemTextDelegate(QObject *parent) :
|
|
QItemDelegate(parent)
|
|
{
|
|
|
|
}
|
|
|
|
QWidget *ItemTextDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const
|
|
{
|
|
QLineEdit *editor = new QLineEdit(parent);
|
|
editor->installEventFilter(const_cast<ItemTextDelegate *>(this));
|
|
//editor->setFrame(false);
|
|
return editor;
|
|
}
|
|
|
|
void ItemTextDelegate::setEditorData(QWidget *editor, const QModelIndex &index) const
|
|
{
|
|
QString value = index.model()->data(index, Qt::EditRole).toString();
|
|
QLineEdit *dsb = static_cast<QLineEdit*>(editor);
|
|
dsb->setText(value);
|
|
}
|
|
|
|
void ItemTextDelegate::setModelData(QWidget *editor, QAbstractItemModel *model,
|
|
const QModelIndex& index) const
|
|
{
|
|
QLineEdit *dsb = static_cast<QLineEdit*>(editor);
|
|
//dsb->interpretText();
|
|
//double value = dsb->value();
|
|
model->setData(index, dsb->text(), Qt::EditRole);
|
|
}
|
|
|
|
void ItemTextDelegate::updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option,
|
|
const QModelIndex& /* index */) const
|
|
{
|
|
editor->setGeometry(option.rect);
|
|
}
|