Russian Qt Forum

Qt => Model-View (MV) => Тема начата: unkeep от Декабрь 15, 2015, 17:41



Название: [решено] QStyledItemDelegate + custom editor that larger than cell
Отправлено: unkeep от Декабрь 15, 2015, 17:41
Есть QStyledItemDelegate который создаёт editor большего размера чем размер ViewItem.  Editor перекрывает соседние ячейки, но они всё равно обрабатываю события, такие  как Hover, из за чего всплывает ToolTip, там где он всплывать не должен.

Как это можно исправить? Или может быть для таких кейсов есть решения лучше(например менять размер ячейки в режиме редактирования..).


Название: Re: QStyledItemDelegate + custom editor that larger than cell
Отправлено: Igors от Декабрь 16, 2015, 10:19
Навесить фильтр на viewport или перекрыть viewportEvent. Посмотрите по стеку откуда приходит ненужный Hover

Или сделать редактор popup окном


Название: Re: QStyledItemDelegate + custom editor that larger than cell
Отправлено: unkeep от Декабрь 17, 2015, 16:20
Код
C++ (Qt)
bool MyEditor::event(QEvent* e)
{
   if (e->type() == QEvent::ToolTip)
   {
       e->accept();
       return true;
   }
   return QWidget::event(e);
}

+ ещё сделал чтобы высота строки подгонялась под размер редактора. Прикольненько получилось :)