Видео ролики бесплатно онлайн

Смотреть вк видео

Официальный сайт welinux 24/7/365

Смотреть видео бесплатно

divius 09.05.2010 23:08

Есть вопрос!Qt: Добавление лишнего столбца в QTreeView

Встала такая задача: есть QTreeView, в него загружается информация из базы данных, надо добавить ещё одну колонку, в которой на основании некоторых полей из БД кое-что рисовать.

Как рисовать, я уже разобрался, а вот как добавить лишний столбец? Единственный вариант, который я нагуглил - сделать proxy-модель (QAbstractProxyModel, емнип), но сложность этой операции неадекватна задаче - новую модель делать не хочется.

Буду рад любым идеям, заранее спасибо.


Тэги: qt4 программирование
+ 1 -
Похожие Поделиться

digiwhite 09.05.2010 23:19 #
+ 0 -
А другого способа ИМХО кроме как создания новой модели нет. Т.е. унаследоваться от QAbstractItemModel и реализовать то что надо. По крайней мере я делал так.
chemikadze 09.05.2010 23:29 #
+ 0 -
в которой на основании некоторых полей из БД кое-что рисовать

А сложный запрос написать? Или под словом "рисовать" имеется в виду именно картинка? Тогда если лень выпендриваться с model/view можно написать тупо на QTreeWidget + QSqlQuery.
divius 09.05.2010 23:31 #
+ 0 -
Имеется в виду именно картинка. Одна модель уже используется, дописывать это в неё очень не хотелось бы - она и так перегружена.
chemikadze 09.05.2010 23:40 #
+ 0 -
Можно например попробовать QItemDelegate.
Примерчик:
class SimpleDelegate : public QItemDelegate
{
public:
SimpleDelegate(QObject *obj = 0) : QItemDelegate(obj)
{
}

void paint(QPainter* painter, const QStyleOptionViewItem &style, const QModelIndex& index)const
{
if (style.state & QStyle::State_MouseOver)
{
QRect rect(style.rect);
QLinearGradient gradient(0, 0, rect.width(), rect.height());
gradient.setColorAt(0, Qt::white);
gradient.setColorAt(0.5, Qt::green);
gradient.setColorAt(1, Qt::blue);
painter->setBrush(gradient);
painter->drawRect(rect);
}
QItemDelegate::paint(painter, style, index);
}

};

Рисует градиент на итеме, на который навели мышку.
divius 09.05.2010 23:55 #
+ 0 -
Как рисовать я знаю, мне столбец новый для рисования надо добавить!
chemikadze 10.05.2010 00:01 #
+ 0 -
Тогда только проксю писать или модель править, больше идей нет.
divius 10.05.2010 00:37 #
+ 0 -
Увы... всё равно спасибо.
chemikadze 10.05.2010 00:40 #
+ 1 -
Да ладно, мне самому интересно =)
chemikadze 09.05.2010 23:33 #
+ 0 -
Ворнинг: если данных реально много, будет жрать память. Я однажды игрался с таблицей 100.000x100.000 и убрал систему в глубочайший своп.
cblp 09.05.2010 23:41 #
+ -4 -
Считаю, что данный вопрос слабо коррелирует с тематикой сайта, Qt, слава богу, кроссплатформная штуковина.
Для вопросов про Qt есть же http://prog.org.ru/
chemikadze 09.05.2010 23:46 #
+ 2 -
Да ладно, нормально. Не знаю насчет реального распределения, но среди моих знакомых Qt'шников абсолютное большинство - линуксоиды.
GTKлюб и Qtненавистник?
cblp 09.05.2010 23:48 #
+ -1 -
GTKлюб и Qtненавистник?

Категорически наоборот.
chemikadze 09.05.2010 23:50 #
+ 1 -
Я думал такое восприятие вопроса по Qt на ресурсе может быть только у GTKшников =)
mhspace 10.05.2010 01:30 #
+ 0 -
>Да ладно, нормально.

Я тут как-то раз задал вопрос о VLC, так меня молча заминусовали...
chemikadze 10.05.2010 01:37 #
+ 1 -
Такое вот у нас "нефанатичное" сообщество, что поделать.
or10n 10.05.2010 03:04 #
+ 0 -
а как по мне, какая разница какие ГУИ-библиотеки использовать(Qt или GTK), что удобнее на том и пиши.
divius 09.05.2010 23:56 #
+ 1 -
Тогда давайте обсуждать ТОЛЬКО линукс и ничего кроме...
Zend 10.05.2010 07:49 #
+ 1 -
Поболтаем об ядре :-)
chemikadze 10.05.2010 10:58 #
+ 0 -
Судя по активности обсуждений в чисто технических статьях - будем молчать в кружке.

В хорошем качестве hd видео

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн