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

Смотреть 4k видео

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

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

09.05.10 23:08 divius

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

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

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

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



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

А сложный запрос написать? Или под словом "рисовать" имеется в виду именно картинка? Тогда если лень выпендриваться с model/view можно написать тупо на QTreeWidget + QSqlQuery.
divius 09.05.10 23:31 # +0
Имеется в виду именно картинка. Одна модель уже используется, дописывать это в неё очень не хотелось бы - она и так перегружена.
chemikadze 09.05.10 23:40 # +0
Можно например попробовать QItemDelegate.
Примерчик:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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.10 23:55 # +0
Как рисовать я знаю, мне столбец новый для рисования надо добавить!
chemikadze 10.05.10 00:01 # +0
Тогда только проксю писать или модель править, больше идей нет.
divius 10.05.10 00:37 # +0
Увы... всё равно спасибо.
chemikadze 10.05.10 00:40 # +1
Да ладно, мне самому интересно =)
chemikadze 09.05.10 23:33 # +0
Ворнинг: если данных реально много, будет жрать память. Я однажды игрался с таблицей 100.000x100.000 и убрал систему в глубочайший своп.
cblp 09.05.10 23:41 # +-4
Считаю, что данный вопрос слабо коррелирует с тематикой сайта, Qt, слава богу, кроссплатформная штуковина.
Для вопросов про Qt есть же http://prog.org.ru/
chemikadze 09.05.10 23:46 # +2
Да ладно, нормально. Не знаю насчет реального распределения, но среди моих знакомых Qt'шников абсолютное большинство - линуксоиды.
GTKлюб и Qtненавистник?
cblp 09.05.10 23:48 # +-1
GTKлюб и Qtненавистник?

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

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

Посты Комментарии
Последние посты
    Посты Комментарии
    Последние комментарии
      Посты Комментарии
      Изменения
        Посты Комментарии Изменения Черновики Избранное
        Черновики (все)
          Посты Комментарии Изменения Черновики Избранное
          Избранное (всё)
            Посты Комментарии Изменения Черновики Избранное
            Лучшие блоги (все 127)
            Топ пользователей Топ блогов
            Топ пользователей Топ блогов
            Элита (все 2328 из 192 городов)
            Топ пользователей Топ блогов
            В сети: nvbn, dimlight, doraneko, dfx, andreas

            Новенькие: CTpaHHoe, r0ster, Fi5t, ShelS, Rush
            welinux.ru

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

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


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

            Online video HD

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

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

            Full HD video online

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

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

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