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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Организовать выделение.  (Прочитано 4846 раз)
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« : Июль 17, 2009, 08:21 »

Всем привет, граждане программисты нужна ваша помощь ,есть интерфейс

http://pic.ipicture.ru/uploads/090717/maZ3pF6TIv.jpg

на нем грубо говоря таблица

http://pic.ipicture.ru/uploads/090717/0h6r1S33kb.jpg

и есть Item таблицы

http://pic.ipicture.ru/uploads/090717/itqS6LODSh.jpg

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

1. Это есть какая то встроенная функция(если есть скажите какая) Улыбающийся
2. Это самому закрашивать background Итема, но тут есть одно но, обычно выделение делается прозрачно синим цветом, вот как его сделать? И background таблицы может быть обсалютно разным в зависимости от настроек Улыбающийся

Подскажите как лудше решить, или может есть еще способ?
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #1 : Июль 17, 2009, 08:27 »

Обработка выбора элементов в представлениях
Записан

Юра.
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #2 : Июль 17, 2009, 08:38 »

Боюсь что это немного не то, т.к. то что я назвал таблицей это понятие абстрактное, на самом деле там обычный Widget а Item`ы создаются по формуле.
Записан
ритт
Гость
« Ответ #3 : Июль 17, 2009, 10:13 »

луДше перечитай статью.
Записан
ufna
Гость
« Ответ #4 : Июль 17, 2009, 10:27 »

Если без модель/вью то:

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

грубо говоря, так. Т.е. встроенных функций селекта виджетов нет, нужно писать свое.


А если как надо, то ссылка выше.
Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #5 : Июль 17, 2009, 10:33 »

Ну вот у меня без модель/вью, и я уже нечто подобное реализовал, работает нормально, только ещё вопрос как отловить клик мыши и одновременно зажатый  Ctrl ? в bool event() это можно поймать?
Записан
spirit
Гость
« Ответ #6 : Июль 17, 2009, 10:37 »

QMouseEvent + QApplication::keyboardModifiers.
Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #7 : Июль 17, 2009, 10:43 »

всем спасибо, разобрался Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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