crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

icore2008
  опции профиля:
сообщение 12.4.2008, 18:42
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 22
Регистрация: 10.4.2008
Пользователь №: 145

Спасибо сказали: 0 раз(а)




Репутация:   0  


здравствуйте,
мне нужно поместить в вертикальный заголовок кроме номера еще QCheckBox.
Видел в демосах пример interview там около номера помещают рисунок (звездочку) путем переопределения метода QVariant::headerData(int section, Qt::Orientation orientation, int role);

QVariant CustomModel::headerData(int section, Qt::Orientation orientation, int role) const
{
    static QIcon services(QPixmap(":/images/services.png"));
    if (role == Qt::DisplayRole)
        return QString::number(section);
    if (role == Qt::DecorationRole)
        return qVariantFromValue(services);
    return QStandardItemModel::headerData(section, orientation, role);
}


Ковырялся с ролью UserRole - не помогло
никак вставлю вместо звездочки - QCheckBox. Помогите, пожалуйста.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
flankerr
  опции профиля:
сообщение 19.11.2009, 13:38
Сообщение #2


Активный участник
***

Группа: Участник
Сообщений: 356
Регистрация: 9.1.2008
Пользователь №: 65

Спасибо сказали: 2 раз(а)




Репутация:   0  


Admin,Что-то не понял что и как надо переопределять в QHeaderView чтобы получить чекбоксы :( примерчик был бы кстати.

Ну возьмём к примеру
QAbstractItemModel
там есть
Qt::ItemFlags QAbstractItemModel::flags ( const QModelIndex & index ) const   [virtual]
где будем возращать какие флаги есть у эдемента (ну наличие или отсутсвие тогоже чекбокса) далее в методе
QVariant QAbstractItemModel::data ( const QModelIndex & index, int role = Qt::DisplayRole ) const   [pure virtual]
проверяем интересующие нас роли и выдаём значение тогоже чебокса в интересующих нас колонках.

В тои же
QAbstractItemModel
есть
headerData
по сущности полностью аналогичный выше описанному data. Однако "фокус" с чекбоксами не прокатывает. Интуития подсказывает что должен быть некий метод headerFlags по аналогии с выше озвученным flags но его нет. И в
QHeaderView
тоже найти утсановку флагов не получилось.

Посему вопрос с утсановкой чекбоксов в заголовке остаются актуальным.


зы:
Litkevich Yuriy, тебе как пользователю назначение этого чебокса станет весьма понятно и весьма полезно кога в данной колонке будут находиться чекбоксы. Т.е. к примеру у тебя таблица из 50 строк в какойто колонке имеються чекбоксы. Эти чекбоксы ты хочешь все либо поставить либо снять. Разумеется гораздо удобнее это сделать одним кликом по заголовку нежели отщёлкивать 50 раз ;)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 14.6.2025, 18:48