Название: Изменить шрифт определенных элементов списка QTreeView Отправлено: wolfut от Июль 05, 2011, 09:51 Доброго времени суток.
Как можно изменить шрифт определенных строк в QTreeView в соответствии со значение в модели (QAbstractItemModel). Например если значение "true" - выделить жирным строку. Название: Re: Изменить шрифт определенных элементов списка QTreeView Отправлено: Пантер от Июль 05, 2011, 09:53 Возвращай нужное значения в модели для Qt::FontRole.
Название: Re: Изменить шрифт определенных элементов списка QTreeView Отправлено: wolfut от Июль 05, 2011, 10:07 Так, немного не понял, вот задам я значение
model->insertRow(0) model->setData(model->index(0,0), value, Qt::FontRole).....где value - true\false. ..... Что дальше? Название: Re: Изменить шрифт определенных элементов списка QTreeView Отправлено: Пантер от Июль 05, 2011, 10:09 А что за модель используешь? Вообще, для Qt::FontRole в value нужно передавать нужный QFont.
Название: Re: Изменить шрифт определенных элементов списка QTreeView Отправлено: wolfut от Июль 05, 2011, 10:17 Создаю модель:
modelSms = new QStandardItemModel(0, 4, NULL); modelSms->setHeaderData(0, Qt::Horizontal, QObject::tr("Subject")); modelSms->setHeaderData(1, Qt::Horizontal, QObject::tr("Sender")); modelSms->setHeaderData(2, Qt::Horizontal, QObject::tr("Date")); modelSms->setHeaderData(3, Qt::Horizontal, QObject::tr("Idx")); Заполняю модель, с помощью процедуры: addM(QAbstractItemModel *model, const QString &name, const QString &text, const QDateTime &date, int idx,const QString &text2) { model->insertRow(0); model->setData(model->index(0, 0), name); model->setData(model->index(0, 0), name, Qt::ToolTipRole); model->setData(model->index(0, 1), text); model->setData(model->index(0, 1), text2, Qt::ToolTipRole); model->setData(model->index(0, 2), date); model->setData(model->index(0, 3), idx); } Присваиваю модель QTreeView: ui->treeView->setModel(modelSms); Название: Re: Изменить шрифт определенных элементов списка QTreeView Отправлено: Пантер от Июль 05, 2011, 10:24 Попробуй так:
Код
Название: Re: Изменить шрифт определенных элементов списка QTreeView Отправлено: wolfut от Июль 05, 2011, 14:52 да-да, помогло, спасибо
Название: Re: Изменить шрифт определенных элементов с Отправлено: kolts от Август 13, 2015, 13:24 Подниму старую тему, правда у меня qtableview. Не могу задать шрифт в определенной ячейке.
QFont font; font.setStrikeOut(true); font.setItalic(true); products->setData(products->index(row,i),font,Qt::FontRole); (возвращает false потому что шрифт не устанавливается) В чем может быть проблема. Не нравится шрифт или нельзя так назначать. По идее через setData можно устанавливать любые значения для доступных ролей. Пробовал инициализировать шрифт так QFont font = (products->data(products->index(0,0),Qt::FontRole).value<QFont>()) для проверки но все равно не хочет Название: Re: Изменить шрифт определенных элементов списка QTreeView Отправлено: Nidxogg от Август 13, 2015, 15:16 Может шрифта в системе нет?
|