Russian Qt Forum

Qt => Model-View (MV) => Тема начата: neosapient от Март 11, 2010, 19:23



Название: QComboBox + Tree + checkbox в каждой ячейке
Отправлено: neosapient от Март 11, 2010, 19:23
Здравствуйте.

Хочу сделать очень замороченный ComboBox. В этом комбобоксе будет дерево галочек. Этот элемент управления будет использоваться для выделения клиентов и групп клиентов.
Следующим шагом развития будет возможность выделять корневых элементов (со всеми субэлементами) путем перечисления счетов и групп в строке редактиования самого комбобокса. Но это следующий шаг, а пока надо организовать реакцию галочек на клики мышкой.
(http://img9.imageshost.ru/imgs/100311/3e485b87e7/45f32.jpg) (http://imageshost.ru/)

За образец взял пример из интернета, порезал и переделал под себя (http://wiki.forum.nokia.com/index.php/Implementing_QTreeView_in_QComboBox_using_Qt_for_Symbian-_Part_2).

Тот пример, что у меня получился не реагирует на клики по галочкам. В моем понимании, это может быть связанно:
- либо с фильтром событий, который перехватывает клики мышкой, дабы popup окно не сворачивалось.
- либо с view-формой, в которую иным способом попадают клики по галочкам.


Помогите разобраться, в чем причина некорректного поведения ? Как исправить пример, чтобы он работал вышеописанным образом и реагировал на клики мышкой правильно.


Название: Re: QComboBox + Tree + checkbox в каждой ячейке
Отправлено: neosapient от Март 26, 2010, 17:24
Сомбобокс приручить не удалось - клики мышки в checkbox'ы не попадают
Сделал "плоский" вариант того что хотел.

Может кому-то поможет
(http://img9.imageshost.ru/imgs/100326/1cd3cf0f79/5b023.jpg) (http://imageshost.ru/)


Название: Re: QComboBox + Tree + checkbox в каждой ячейке
Отправлено: crossly от Март 26, 2010, 17:35
а что помешало использовать фильтр событий для передачи их во вью??


Название: Re: QComboBox + Tree + checkbox в каждой ячейке
Отправлено: AlekseyK от Декабрь 31, 2010, 20:08
http://www.qtforum.org/article/32886/qcombobox-with-multiple-selection-and-tree-for-the-items.html#post112365