Название: Безформенная таблица Отправлено: Flakes от Май 14, 2008, 11:15 Не знаю как объяснить, но в общем необходимо научить QTableView, чтоб ширина каждой ячейки была уникальная, точней согласно ширине ее содержимого.
Выглядеть это должно примерно вот так: (http://img261.imageshack.us/img261/361/tableld7.gif) Почти как void QTableView::resizeColumnsToContents (), только этот метод делает это, взяв за минимальную ширину самую широкую ячейку. Как это можно было бы осуществить? Название: Re: Безформенная таблица Отправлено: BRE от Май 14, 2008, 11:26 Не знаю как объяснить, но в общем необходимо научить QTableView, чтоб ширина каждой ячейки была уникальная, точней согласно ширине ее содержимого. Хм, наверное наследуем класс от QAbstractItemView, и руками все отрисовываем.Выглядеть это должно примерно вот так: (http://img261.imageshack.us/img261/361/tableld7.gif) Почти как void QTableView::resizeColumnsToContents (), только этот метод делает это, взяв за минимальную ширину самую широкую ячейку. Как это можно было бы осуществить? Название: Re: Безформенная таблица Отправлено: EhTemka от Май 14, 2008, 11:30 Ну если уж отрисовывать "руками" то наследовать нужно QItemDelegate...
Название: Re: Безформенная таблица Отправлено: Flakes от Май 14, 2008, 11:42 Ну если уж отрисовывать "руками" то наследовать нужно QItemDelegate... спасибо, кажется то что надо... Название: Re: Безформенная таблица Отправлено: Flakes от Май 14, 2008, 23:33 немного запутался, через void QItemDelegate::paint () я могу управлять отрисовкой содержимого ячейки, а что отрисовывает саму ячейку...
поправьте меня плиз :-[ Название: Re: Безформенная таблица Отправлено: EhTemka от Май 16, 2008, 12:16 У тебя таблица должна быть стической или динамической (то бишь обновлятся постоянно)?
И вообще мне кажется что реализовать с помощью QAbstractItemView это довольно проблематично(хотя могу и ошибаться)... Попробуй капнуть в сторону QGraphicsScene/QGraphicsView Название: Re: Безформенная таблица Отправлено: Tonal от Май 16, 2008, 18:20 Мне кажется ошибаешься.
Посмотри хотя бы $(QTDIR)/examples/itemviews/chart Там и справа и слева наследники QAbstractItemView... Название: Re: Безформенная таблица Отправлено: EhTemka от Май 16, 2008, 20:12 Мне кажется ошибаешься. Посмотри хотя бы $(QTDIR)/examples/itemviews/chart Там и справа и слева наследники QAbstractItemView... Посмотрел пример... Тут четь ли не весь AbstractItemView переписан. Не думаю что это проще чем QGraphicsScene/QGraphicsView. Хотя всё зависит от конкретной задачи Название: Re: Безформенная таблица Отправлено: Flakes от Май 19, 2008, 15:10 Ясно, все куда сложней чем кажется. Я хотел было наследовать TableView и из соурсов перепахать какой нить paint метод под себя или что то в этом роде.
P.S. таблица динамическая. Немножко подробней объясню . Мне функциональность таблицы не нужна, просто когда попал мне в руки проект - уже с таблицей это было реализовано. Я думаю просто сделаю это простым RichText. Главное чтоб выводилось все сплошняком, как будто одним предложением. Название: Re: Безформенная таблица Отправлено: Tonal от Май 20, 2008, 11:48 Ну в html это отформатировать проблем как я понимаю быть не должно:
Внешняя таблица с одним столбцом и для каждой строко своя внутренняя табличка с нужным форматированием. Эжели не нужно редактирование и всякое выделение - можно QTextBrowser использовать. А если нужно - надо думать... Может оказаться, что наследование от QAbstractItemView наиболее удобный и простой вариант. Название: Re: Безформенная таблица Отправлено: Flakes от Май 20, 2008, 16:36 Эжели не нужно редактирование и всякое выделение - можно QTextBrowser использовать. А если нужно - надо думать... Может оказаться, что наследование от QAbstractItemView наиболее удобный и простой вариант. Пока нет необходимости редактирования, но может понадобиться в дальнейшем, и я бы срадостью сохранил бы таблицу. Хорошо, пускай я наследую QAbstractItemView, куда дальше копать? Я так понимаю мне нужно переопределить какой-то public метод, а именно тот который столбик рисует, чтоб он брал не общий size, а уникальный для каждой ячейки, но в исходниках я ничего не нашел. P.S. все таки я еще нуб :) P.S.S. я еще покапался, вроде QHeader отвечает за отрисовку всяких *Item*View |