Russian Qt Forum
Сентябрь 23, 2024, 00:22 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Активный делегат без openPersistentEditor и груды перерисовки  (Прочитано 5205 раз)
Barmaglodd
Гость
« : Декабрь 19, 2011, 12:21 »

Хочу "странного" Подмигивающий
Нужен делегат для таблички, на котором расположены несколько виджетов (кнопочки там всякие, чекбоксы), и хочется, чтобы это всё было постоянно активным, т.е. чтобы не жамкать 2 раза мышкой для перехода в режим редактирования.
Пока использую в разных ситуациях 2 варианта (костыля):
1. Рисуем и обрабатываем все события от клавы и мыши в наследнике QItemDelegate.
      Минус решения в большом количестве кода, да и всю анимацию контролов воспроизводить лень.
2. Вызываем на каждый чих openPersistentEditor.
      Как-то "неэлегантно" получается, и на больших таблицах можно море памяти скушать.
Может кто-то предложит вариант без недостатков? Улыбающийся
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #1 : Декабрь 19, 2011, 12:26 »

1. Рисуем и обрабатываем все события от клавы и мыши в наследнике QItemDelegate.
Забудь про QItemDelegate. Используй вместо него QStyledItemDelegate.
Это
Код
C++ (Qt)
QAbstractItemView::setEditTriggers( QAbstractItemView::CurrentChanged | QAbstractItemView::SelectedClicked )
пробовал?
« Последнее редактирование: Декабрь 19, 2011, 12:29 от GreatSnake » Записан

Qt 5.11/4.8.7 (X11/Win)
Barmaglodd
Гость
« Ответ #2 : Декабрь 19, 2011, 12:29 »

И как это решит мою проблему?
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #3 : Декабрь 19, 2011, 12:30 »

И как это решит мою проблему?
Это решит другие проблемы, если остановишься на п.1.
Записан

Qt 5.11/4.8.7 (X11/Win)
Barmaglodd
Гость
« Ответ #4 : Декабрь 19, 2011, 12:38 »

Это
Код
C++ (Qt)
QAbstractItemView::setEditTriggers( QAbstractItemView::CurrentChanged | QAbstractItemView::SelectedClicked )
пробовал?
Ага, жамкаем мышкой, ячейка получает фокус, делегат появляется Подмигивающий
Записан
Barmaglodd
Гость
« Ответ #5 : Декабрь 19, 2011, 12:40 »

Это решит другие проблемы, если остановишься на п.1.
Т.е. у меня магическим образом буду работать hover-эффекты для кнопок? Без ручной пляски с событиями от мыши?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.16 секунд. Запросов: 22.