Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Гурман от Май 25, 2010, 15:15



Название: пропадает редактирование ячеек если заполнять таблицу в paintEvent()
Отправлено: Гурман от Май 25, 2010, 15:15
есть таблица, которая строится пользователем асинхронно, но отдельные ее ячейки могут запрещаться или разрешаться, в зависимости от контекста, который может меняться независимо от пользователя, и те ячейки, которые разрешены, можно редактировать (ну такая вот колбаса-молбаса...)

все работает, если заполнять таблицу там, где меняется контекст, но таких мест в приложении великое множество, и в каждое новое добавлять вызов заполнения таблицы - получается громоздко и не кошерно

поэтому было сделано заполнение самой таблицы в ее же paintEvent(), собственно в этом есть крупица дзена - фактически заполнение таблицы - ведь это тоже ее рисование...

в таком варианте работает почти все - таблица корректно рисуется, разрешенные ячейки подсвечиваются разрешенными, запрещенные - запрещенными, НО! не работает редактирование ячеек...  >:( то есть, при попытке их редактировать ничего не происходит внешне, на самом деле, видимо при входе в редактор ячейки снова вызывается перерисовка всей таблицы и из редактирования выбрасывает

и че-то не видно кошерного решения... может кто идею какую-то подсказать, как это побороть, и при этом не расставлять вызовы апдейта таблицы по всему приложению?