Спасибо!!! Так и было. Вот только непонятно, почему оно именно так ругалось??? (понять откуда ноги растут было сложно. ну или отсутствие опыта сказывается
)
Дальше наворачиваю этот проект:
delegate.h
#ifndef DELEGATE_H
#define DELEGATE_H
#include <QItemDelegate>
#include <QSpinBox>
class SpinBoxDelegate : public QItemDelegate
{
Q_OBJECT
public:
SpinBoxDelegate(QObject *parent = 0);
QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option,
const QModelIndex &index) const;
void setEditorData(QWidget *editor, const QModelIndex &index) const;
void setModelData(QWidget *editor, QAbstractItemModel *model,
const QModelIndex &index) const;
void updateEditorGeometry(QWidget *editor,
const QStyleOptionViewItem &option, const QModelIndex &index) const;
};
#endif // DELEGATE_H
mainwindow.cpp
#include "mainwindow.h"
#include "delegate.h"
#include "ui_mainwindow.h"
#include <QtDebug>
#include <QtGui>
#include <QtSql/QSqlDatabase>
#include <QSqlQueryModel>
#include <QSqlError>
#include <QTableView>
#include <QSqlRelation>
#include <QSqlRelationalDelegate>
#include <QMessageBox>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
/*установка codecs*/
/*тут идет блок коннекта*/
QSqlRelationalTableModel * albumsRelation = new QSqlRelationalTableModel(0);
albumsRelation->setTable("public.albums");
albumsRelation->setRelation(1, QSqlRelation("public.vw_polu1", "KODPL", "naim"));
albumsRelation->select();
albumsRelation->setEditStrategy(QSqlTableModel::OnRowChange);
QTableView * view = new QTableView(0);
view->setModel(albumsRelation);
view->setColumnHidden(0, true);
view->setWindowTitle(QObject::trUtf8("¦Р¦¬TМ¦-¦-¦-TЛ"));
SpinBoxDelegate * delegate = new SpinBoxDelegate(this);
view->setItemDelegate(delegate);
view->show();
}
выпадает с ошибкой:
D:\qt4_test\test_delegate2/mainwindow.cpp:46: undefined reference to `SpinBoxDelegate::SpinBoxDelegate(QObject*)'
Хотя вроде как делаю как в примере.
И такой вопрос: а как прога определяет к какому столбцу прикручивать этого делегата? У меня же там может быть несколько связей.