Russian Qt Forum

Qt => Model-View (MV) => Тема начата: Hammer от Январь 30, 2013, 10:46



Название: Отрисовка делегата
Отправлено: Hammer от Январь 30, 2013, 10:46
Здравствуйте. Сделал "свой" QLineEdit переопределив несколько методов:
Код
C++ (Qt)
class MyLineEdit : public QLineEdit
{
public:
   MyLineEdit(QWidget *parent = 0);
   void setIndex(unsigned int i) { index = i; }
   unsigned int getIndex(){ return index; }
 
private:
unsigned int index;
protected:
virtual void keyPressEvent ( QKeyEvent * event );
};
Затем пытаюсь установить его в качестве делегата для ячеек QTableView. Он все классно устанавливается и работает, только отрисовывается в отдельном окне и относительно десктопа, а не QtableView (или чего он там должен). При этом, обычный QLineEdit в качестве делегата встает нормально.
Где я что забыл?


Название: Re: Отрисовка делегата
Отправлено: Bepec от Январь 30, 2013, 10:58
Родителя ему присваивать? :)


Название: Re: Отрисовка делегата
Отправлено: Пантер от Январь 30, 2013, 10:58
Как минимум, забыл сюда код реализации приложить.


Название: Re: Отрисовка делегата
Отправлено: Hammer от Январь 30, 2013, 11:04
Родителя ему присваивать? :)
Родителя присваивать пробовал - не помогает. Видимо потому, что в конструкторе ничего нет )
Как минимум, забыл сюда код реализации приложить.
Там только KeyEvent переписанный, больше ничего нет. А за keyEvent мне стыдно, т.к. ему уже около 5 лет и писался еще на  Delphi )

Видимо, надо что-то в конструкторе запилить, чтобы он знал, чей он сын потомок


Название: Re: Отрисовка делегата
Отправлено: Hammer от Январь 30, 2013, 11:17
Код
C++ (Qt)
this->setParent(parent);
оказца.
Простите, Господа, переволновался )