Название: Организовать выделение. Отправлено: ecspertiza от Июль 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 таблицы может быть обсалютно разным в зависимости от настроек :) Подскажите как лудше решить, или может есть еще способ? Название: Re: Организовать выделение. Отправлено: lit-uriy от Июль 17, 2009, 08:27 Обработка выбора элементов в представлениях (http://doc.crossplatform.ru/qt/4.4.3/model-view-selection.html)
Название: Re: Организовать выделение. Отправлено: ecspertiza от Июль 17, 2009, 08:38 Боюсь что это немного не то, т.к. то что я назвал таблицей это понятие абстрактное, на самом деле там обычный Widget а Item`ы создаются по формуле.
Название: Re: Организовать выделение. Отправлено: ритт от Июль 17, 2009, 10:13 луДше перечитай статью.
Название: Re: Организовать выделение. Отправлено: ufna от Июль 17, 2009, 10:27 Если без модель/вью то:
- У каждого элемента есть стейт - селектед или не селектед - обрабатываешь клик мышкой, узнавая какому виджету принадлежит точка нажатия или сразу в нем евент этот ловишь - делаешь виджет селектед - если не попал в виджет, то делается он делесектед (если нужно выделение только одного за один раз) - рисуешь сий виджет как тебе нужно, в зависимости от стейта грубо говоря, так. Т.е. встроенных функций селекта виджетов нет, нужно писать свое. А если как надо, то ссылка выше. Название: Re: Организовать выделение. Отправлено: ecspertiza от Июль 17, 2009, 10:33 Ну вот у меня без модель/вью, и я уже нечто подобное реализовал, работает нормально, только ещё вопрос как отловить клик мыши и одновременно зажатый Ctrl ? в bool event() это можно поймать?
Название: Re: Организовать выделение. Отправлено: spirit от Июль 17, 2009, 10:37 QMouseEvent + QApplication::keyboardModifiers.
Название: Re: Организовать выделение. Отправлено: ecspertiza от Июль 17, 2009, 10:43 всем спасибо, разобрался :)
|