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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Отображение дерева  (Прочитано 4724 раз)
developer
Гость
« : Июль 28, 2009, 18:06 »

Есть дерево QTreeView.  Припустим у него есть два столпца ('а' i 'б').
Все "крестики"(то-есть уровни вложения) отображаються в столпце "а" (в норме). Если "а" скрыть тогда исчезают и "крестики",  а как сделать так чтобы не исчезали.
Кстати в GTK  для етого есть только одна функция - что-то типа set_column_expanded(и оно перерисовывает ети крестики в заданном столпце).
И вот мне предоставили вызов - а что может твой Qt. Вот я и пытаюсь сказать что у Qt где-то тоже есть только одна функция - только я ее еще не нашел.
Может у кого то есть идеи.
Записан
spectre71
Гость
« Ответ #1 : Июль 28, 2009, 21:32 »

Есть дерево QTreeView.  Припустим у него есть два столпца ('а' i 'б').
Все "крестики"(то-есть уровни вложения) отображаються в столпце "а" (в норме). Если "а" скрыть тогда исчезают и "крестики",  а как сделать так чтобы не исчезали.
Кстати в GTK  для етого есть только одна функция - что-то типа set_column_expanded(и оно перерисовывает ети крестики в заданном столпце).
И вот мне предоставили вызов - а что может твой Qt. Вот я и пытаюсь сказать что у Qt где-то тоже есть только одна функция - только я ее еще не нашел.
Может у кого то есть идеи.
Оригинально! Крестики! Для того чтобы задать вопрос, необходимо знать половину ответа!
Если я понял Подмигивающий смотри http://www.prog.org.ru/topic_10162_0.html
Записан
developer
Гость
« Ответ #2 : Июль 28, 2009, 22:44 »

Нет ето не то, там нужно было просто переместить хедера, а теперь при сокрытии хедера с отображением дерева исчезает отображение дерева, что и есть нормально но нужно как-то переместить ето дерево на первую видимую колонку.
Записан
_OLEGator_
Гость
« Ответ #3 : Июль 28, 2009, 22:49 »

Ну как костыль - первую колонку создать только для "плюсов", без текста, а скрывать уже начиная со второй... Либо доку надо рыть, с ходу другого не могу предложить Улыбающийся
Записан
vovan1982
Гость
« Ответ #4 : Июль 29, 2009, 09:39 »

А что мешает сделать "б" первой колонкой при загрузке данных в модель.
Я например сделал следующее:
Есть таблица в sql (id, parent_id, name), данные из таблици загружаю в следующем порядке, сначала "name", потом "id", потом "parent_id" в итоге крестики стоят на "name", а "id" и "parent_id" скрываю.
Записан
developer
Гость
« Ответ #5 : Июль 29, 2009, 13:10 »

Извиняюсь за неточные данные, мы делаем дерево, потом юзер прятает ту колонку которую ему нужно, и если ето будет колонка с крестиками, то нужно ети крестики перерисовать в следующей видимой колонке.

Цитировать
Ну как костыль - первую колонку создать только для "плюсов", без текста, а скрывать уже начиная со второй... Либо доку надо рыть, с ходу другого не могу предложить Улыбающийся
Совсем не думаю что ето костыль. По моему ето неплохое решение.

Но нужно еще поискать функцию переоределениэ которой даст такой результат. ВОт и вопрос что ето за функция и как ее переопределить. Вчера смотрел есть небольшие наводки: drawRow(), drawBranches(), drawTree().  Но как ими правильно использоваться не знаю.
Записан
_OLEGator_
Гость
« Ответ #6 : Сентябрь 28, 2009, 19:37 »

Я имел ввиду, что первая колонка - пустая, она только для отображения "крестиков", а прятать можно только со второй колонки... Надо только запретить изменение размеров и перетаскивание этой колонки

Правда там останется вертикальная полоса, но думаю если приспичит - ее можно победить унаследовавшись от QHeaderView и переопределив рисование...
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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