Название: Отображение дерева Отправлено: developer от Июля 28, 2009, 18:06 Есть дерево QTreeView. Припустим у него есть два столпца ('а' i 'б').
Все "крестики"(то-есть уровни вложения) отображаються в столпце "а" (в норме). Если "а" скрыть тогда исчезают и "крестики", а как сделать так чтобы не исчезали. Кстати в GTK для етого есть только одна функция - что-то типа set_column_expanded(и оно перерисовывает ети крестики в заданном столпце). И вот мне предоставили вызов - а что может твой Qt. Вот я и пытаюсь сказать что у Qt где-то тоже есть только одна функция - только я ее еще не нашел. Может у кого то есть идеи. Название: Re: Отображение дерева Отправлено: spectre71 от Июля 28, 2009, 21:32 Есть дерево QTreeView. Припустим у него есть два столпца ('а' i 'б'). Оригинально! Крестики! Для того чтобы задать вопрос, необходимо знать половину ответа!Все "крестики"(то-есть уровни вложения) отображаються в столпце "а" (в норме). Если "а" скрыть тогда исчезают и "крестики", а как сделать так чтобы не исчезали. Кстати в GTK для етого есть только одна функция - что-то типа set_column_expanded(и оно перерисовывает ети крестики в заданном столпце). И вот мне предоставили вызов - а что может твой Qt. Вот я и пытаюсь сказать что у Qt где-то тоже есть только одна функция - только я ее еще не нашел. Может у кого то есть идеи. Если я понял ;) смотри http://www.prog.org.ru/topic_10162_0.html (http://www.prog.org.ru/topic_10162_0.html) Название: Re: Отображение дерева Отправлено: developer от Июля 28, 2009, 22:44 Нет ето не то, там нужно было просто переместить хедера, а теперь при сокрытии хедера с отображением дерева исчезает отображение дерева, что и есть нормально но нужно как-то переместить ето дерево на первую видимую колонку.
Название: Re: Отображение дерева Отправлено: _OLEGator_ от Июля 28, 2009, 22:49 Ну как костыль - первую колонку создать только для "плюсов", без текста, а скрывать уже начиная со второй... Либо доку надо рыть, с ходу другого не могу предложить :)
Название: Re: Отображение дерева Отправлено: vovan1982 от Июля 29, 2009, 09:39 А что мешает сделать "б" первой колонкой при загрузке данных в модель.
Я например сделал следующее: Есть таблица в sql (id, parent_id, name), данные из таблици загружаю в следующем порядке, сначала "name", потом "id", потом "parent_id" в итоге крестики стоят на "name", а "id" и "parent_id" скрываю. Название: Re: Отображение дерева Отправлено: developer от Июля 29, 2009, 13:10 Извиняюсь за неточные данные, мы делаем дерево, потом юзер прятает ту колонку которую ему нужно, и если ето будет колонка с крестиками, то нужно ети крестики перерисовать в следующей видимой колонке.
Цитировать Ну как костыль - первую колонку создать только для "плюсов", без текста, а скрывать уже начиная со второй... Либо доку надо рыть, с ходу другого не могу предложить Улыбающийся Совсем не думаю что ето костыль. По моему ето неплохое решение.Но нужно еще поискать функцию переоределениэ которой даст такой результат. ВОт и вопрос что ето за функция и как ее переопределить. Вчера смотрел есть небольшие наводки: drawRow(), drawBranches(), drawTree(). Но как ими правильно использоваться не знаю. Название: Re: Отображение дерева Отправлено: _OLEGator_ от Сентября 28, 2009, 19:37 Я имел ввиду, что первая колонка - пустая, она только для отображения "крестиков", а прятать можно только со второй колонки... Надо только запретить изменение размеров и перетаскивание этой колонки
Правда там останется вертикальная полоса, но думаю если приспичит - ее можно победить унаследовавшись от QHeaderView и переопределив рисование... |