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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Безформенная таблица  (Прочитано 6533 раз)
Flakes
Гость
« : Май 14, 2008, 11:15 »

Не знаю как объяснить, но в общем необходимо научить QTableView, чтоб ширина каждой ячейки была уникальная, точней согласно ширине ее содержимого.

Выглядеть это должно примерно вот так:


Почти как void QTableView::resizeColumnsToContents (), только этот метод делает это, взяв за минимальную ширину самую широкую ячейку.

Как это можно было бы осуществить?
« Последнее редактирование: Май 14, 2008, 11:18 от Flakes » Записан
BRE
Гость
« Ответ #1 : Май 14, 2008, 11:26 »

Не знаю как объяснить, но в общем необходимо научить QTableView, чтоб ширина каждой ячейки была уникальная, точней согласно ширине ее содержимого.

Выглядеть это должно примерно вот так:


Почти как void QTableView::resizeColumnsToContents (), только этот метод делает это, взяв за минимальную ширину самую широкую ячейку.

Как это можно было бы осуществить?

Хм, наверное наследуем класс от QAbstractItemView, и руками все отрисовываем.
Записан
EhTemka
Гость
« Ответ #2 : Май 14, 2008, 11:30 »

Ну если уж отрисовывать "руками" то наследовать нужно QItemDelegate...
Записан
Flakes
Гость
« Ответ #3 : Май 14, 2008, 11:42 »

Ну если уж отрисовывать "руками" то наследовать нужно QItemDelegate...

спасибо, кажется то что надо...
Записан
Flakes
Гость
« Ответ #4 : Май 14, 2008, 23:33 »

немного запутался, через void QItemDelegate::paint () я могу управлять отрисовкой содержимого ячейки, а что отрисовывает саму ячейку...

поправьте меня плиз Обеспокоенный
Записан
EhTemka
Гость
« Ответ #5 : Май 16, 2008, 12:16 »

У тебя таблица должна быть стической или динамической (то бишь обновлятся постоянно)?

И вообще мне кажется что реализовать с помощью QAbstractItemView это довольно проблематично(хотя могу и ошибаться)...

Попробуй капнуть в сторону QGraphicsScene/QGraphicsView
« Последнее редактирование: Май 16, 2008, 12:22 от EhTemka » Записан
Tonal
Гость
« Ответ #6 : Май 16, 2008, 18:20 »

Мне кажется ошибаешься.
Посмотри хотя бы $(QTDIR)/examples/itemviews/chart
Там и справа и слева наследники QAbstractItemView...
Записан
EhTemka
Гость
« Ответ #7 : Май 16, 2008, 20:12 »

Мне кажется ошибаешься.
Посмотри хотя бы $(QTDIR)/examples/itemviews/chart
Там и справа и слева наследники QAbstractItemView...

Посмотрел пример... Тут четь ли не весь AbstractItemView переписан. Не думаю что это проще чем QGraphicsScene/QGraphicsView. Хотя всё зависит от конкретной задачи
Записан
Flakes
Гость
« Ответ #8 : Май 19, 2008, 15:10 »

Ясно, все куда сложней чем кажется. Я хотел было наследовать TableView и из соурсов перепахать какой нить paint метод под себя или что то в этом роде.

P.S. таблица динамическая.

Немножко подробней объясню . Мне функциональность таблицы не нужна, просто когда попал мне в руки проект - уже с таблицей это было реализовано. Я думаю просто сделаю это простым RichText. Главное чтоб выводилось все сплошняком, как будто одним предложением.
« Последнее редактирование: Май 19, 2008, 15:16 от Flakes » Записан
Tonal
Гость
« Ответ #9 : Май 20, 2008, 11:48 »

Ну в html это отформатировать проблем как я понимаю быть не должно:
Внешняя таблица с одним столбцом и для каждой строко своя внутренняя табличка с нужным форматированием.
Эжели не нужно редактирование и всякое выделение - можно QTextBrowser использовать.
А если нужно - надо думать...
Может оказаться, что наследование от QAbstractItemView наиболее удобный и простой вариант.
Записан
Flakes
Гость
« Ответ #10 : Май 20, 2008, 16:36 »

Эжели не нужно редактирование и всякое выделение - можно QTextBrowser использовать.
А если нужно - надо думать...
Может оказаться, что наследование от QAbstractItemView наиболее удобный и простой вариант.

Пока нет необходимости редактирования, но может понадобиться в дальнейшем, и я бы срадостью сохранил бы таблицу. Хорошо, пускай я наследую QAbstractItemView, куда дальше копать? Я так понимаю мне нужно переопределить какой-то public метод, а именно тот который столбик рисует, чтоб он брал не общий size, а уникальный для каждой ячейки, но в исходниках я ничего не нашел.

P.S. все таки я еще нуб Улыбающийся

P.S.S. я еще покапался, вроде QHeader отвечает за отрисовку всяких *Item*View
« Последнее редактирование: Май 20, 2008, 16:55 от Flakes » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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