Название: переопределить делегат Отправлено: pro100skif от Июнь 17, 2014, 05:28 Доброго времени суток, необходимо запретить пользователю редактировать кое какие колонки в QTableView , полазил в инете нашел что самый простой способ это переопределить делегата.Создал новый cpp файл, прописал в нем
Код: class NonEditTableColumnDelegate : public QItemDelegate потом в самой программе Код: NonEditTableColumnDelegate *delegate=new NonEditTableColumnDelegate(this); на что qt ругается как то так: D:\QTprojects\mysqltry\new1.cpp:5: ошибка: undefined reference to `vtable for NonEditTableColumnDelegate' collect2.exe:-1: ошибка: error: ld returned 1 exit status и указывает на эту строку: NonEditTableColumnDelegate(QObject * parent = 0) : QItemDelegate(parent) {} Заранее спасибо за помощь Название: Re: переопределить делегат Отправлено: gil9red от Июнь 17, 2014, 06:43 Классы лучше создавать в h-файлах, а описывать их содержимое в срр ;)
Название: Re: переопределить делегат Отправлено: GreatSnake от Июнь 17, 2014, 07:19 Убери строку с Q_OBJECT.
Если производный от QObject класс не определяет новые сигналы/слоты и не использует собственные трансляции (tr), то использовать данную строку необязательно. Название: Re: переопределить делегат Отправлено: pro100skif от Июнь 17, 2014, 13:32 Убери строку с Q_OBJECT. спасибо работаетЕсли производный от QObject класс не определяет новые сигналы/слоты и не использует собственные трансляции (tr), то использовать данную строку необязательно. |