Доброго времени суток, использую QTableView для отображения таблиц SQLITE, в котором(заранее извиняюсь за кривую формулировку) все поля независимо от типа который я создаю переводит в текст.Решил написать делегат для определенного столбца используя QValidator получилось вот что:
class DoubleEditTableColumnDelegate : public QItemDelegate
{
public:
doubleEditTableColumnDelegate(QObject * parent = 0) : QItemDelegate(parent) {}
virtual QWidget * createEditor ( QWidget *, const QStyleOptionViewItem &,
const QModelIndex &) const
{
QLineEdit *edit=new QLineEdit();
edit->setValidator(new QDoubleValidator(edit));
return edit;
}
};
в принципе работает за исключение одной детали...когда я кликаю дважды по ячейке то создается LineEdit вообще в другой стороне экрана, долгое время не спал возможно что то профукал, заранее спасибо за помощь.