Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Qt4]Тривью с таблицей с таблицей с таблицей 
:(
    Опции темы
feanor59
Дата 3.1.2009, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 66
Регистрация: 24.1.2008
Где: Пермь

Репутация: нет
Всего: нет



И так.
Есть данные, которые надо представить следующим образом:
1) В каждом элементе тривью первого уровня, по одной строке (по одному кортежу) из некоторой таблицы.
2) В каждом элементе тривью 2го уровня, так же по одному кортежу, но уже из другой таблицы (на самом деле, какие записи отображать на 2м уровне в тривью зависит от родительского 1го уровня, кароч от того, какая ветвь раскрыта)
3) В каждом элементе тривью 3го уровня находится некоторая таблица (потенциально состоящая из нескольких строк)
4) При этом, колонки (их количество, ширина, шапка) для каждого уровня - разные, т. е. для каждого уровня нужно отображать свою шапку.

Как это реализовать я пока не вижу, ну да - делегаты, а что дальше - хз. Что касается элементов тривью 2го уровня, то подойдёт и способ, при котортом у каждой ветви будет только один элемент 2го уровня, в котором опять же будет тривью, у каждого элемента которого будет по одному кортежу. Типа рекурсивное тривьюsmile

Есть у кого нить мысли на этот счёт?
PM MAIL ICQ GTalk   Вверх
SABROG
Дата 4.1.2009, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 81
Всего: 91



Цитата(feanor59 @  3.1.2009,  23:53 Найти цитируемый пост)
Есть у кого нить мысли на этот счёт? 


Нарисуй это и выложи сюда, из описания ничего не понятно. И что за кортежи такие...


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
feanor59
Дата 4.1.2009, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 66
Регистрация: 24.1.2008
Где: Пермь

Репутация: нет
Всего: нет



Ну примерно так это должно выглядеть, надеюсь щас попонятнее будет.

Присоединённый файл ( Кол-во скачиваний: 29 )
Присоединённый файл  tttt.png 60,33 Kb
PM MAIL ICQ GTalk   Вверх
SABROG
Дата 5.1.2009, 01:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 81
Всего: 91



Цитата(feanor59 @ 4.1.2009,  23:39)
Ну примерно так это должно выглядеть, надеюсь щас попонятнее будет.

У колонок общие линии или вразнобой границы проходят как на скрине ? Про "Шапка Шапка" тоже не понятно, надо объединить две колонки в одну с двумя названиями и они должны пересекать линию ?

Это сообщение отредактировал(а) SABROG - 5.1.2009, 01:16


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
feanor59
Дата 5.1.2009, 01:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 66
Регистрация: 24.1.2008
Где: Пермь

Репутация: нет
Всего: нет



Цитата(SABROG @ 5.1.2009,  01:15)
У колонок общие линии или вразнобой границы проходят как на скрине ? Про "Шапка Шапка" тоже не понятно, надо объединить две колонки в одну с двумя названиями и они должны пересекать линию ?

всё как на скрине, т. е. линии у колонок вразнобой. Про шапку, не надо ничего объединять, это я просто несколько раз написал, т. е. у каждой колонки одно название. Количество столбцов на каждом уровне вложенности может (и будет) разное.
PM MAIL ICQ GTalk   Вверх
SABROG
Дата 5.1.2009, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 81
Всего: 91



Теоретически в ячейку можно впихнуть какой-нибудь QTableWidget и отображать его через openPersistentEditor, но вот чтобы к каждой строке этой таблицы подходил узел как на рисунке (типа строка таблицы - это ячейка treeview) наврятли.


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
feanor59
Дата 5.1.2009, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 66
Регистрация: 24.1.2008
Где: Пермь

Репутация: нет
Всего: нет



а можно как то делегировать отдельно каждую строчку таблицы и шапку? т. е. каждому узлу треевью дать отображать делегата либо строки табы (какой либо), либо шапку
PM MAIL ICQ GTalk   Вверх
SABROG
Дата 5.1.2009, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 81
Всего: 91



Каждый итем можешь делегировать как тебе захочеться. В твоем случае придется эмулировать части таблицы в итемах. В принципе ты мог бы вставить в каждый итем по QTableView в качестве edtor'а. Где-то отображать только заголовок, где-то придется заголовок скрыть и отображать только одну строку. Придется перевязать сигналы перемещения секций заголовков на слоты в других итемах.
Вызывать openPersistentEditor на каждый итем. В итоге все приведет к тому, что таблица будет жестоко лагать. 

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


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
feanor59
Дата 5.1.2009, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 66
Регистрация: 24.1.2008
Где: Пермь

Репутация: нет
Всего: нет



а есть так. в книге проф программирование на с++. qt4. есть сэмпл прога, где отображалась иерархия данных, там тривью, и колонки для вложеных итемов. дак вот, можно ли сделать такой виджет, и делать его элементом на нужном уровне иерархии?
Если книга такая есть, то это на странице 241, рисунок 12.9
PM MAIL ICQ GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0680 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.