crossplatform.ru

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

Litkevich Yuriy
  опции профиля:
сообщение 13.5.2010, 1:35
Сообщение #1


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


Делаю свою модель дерева. И не могу понять почему при щелчке мышью на корневых элементах, выделяется вся строка. А на дочерних не выделяется последний столбец.
Вот картинки
Щелчёк по первому столбцу:
 Р В Р’ Р’ Р’ Р’ Р’ Р’ Р в‚¬Р В РЎВ˜Р В Р’µР Р…ьшено Р Т‘Р С• 50%
Прикрепленное изображение
524 x 242 (3.22 килобайт)
 Р В Р’ Р’ Р’ Р’ Р’ Р’ Р в‚¬Р В РЎВ˜Р В Р’µР Р…ьшено Р Т‘Р С• 50%
Прикрепленное изображение
522 x 262 (3.29 килобайт)

Щелчёк по последнему столбцу:
 Р В Р’ Р’ Р’ Р’ Р’ Р’ Р в‚¬Р В РЎВ˜Р В Р’µР Р…ьшено Р Т‘Р С• 50%
Прикрепленное изображение
525 x 229 (3.14 килобайт)
 Р В Р’ Р’ Р’ Р’ Р’ Р’ Р в‚¬Р В РЎВ˜Р В Р’µР Р…ьшено Р Т‘Р С• 50%
Прикрепленное изображение
523 x 256 (3.2 килобайт)

Из снимков видно, что при щелчке по последнему столбцу появляется рамка вокруг ячейки, но синенького выделения в дочернем элементе нету.

Хотелось бы понять, что отвечает за возможность выделения. Я полагаю, что за это отвечают только флажки, но в этом месте модели у меня всё одинаково:
Qt::ItemFlags EntityModel::flags(const QModelIndex &index) const
{
    icnt++;
    qDebug() << indent() << "EntityModel::flags(index =" << index
                             << "[ Object =" << idx(index)
                             << "])";
    Qt::ItemFlags result;
    if (!index.isValid()){
        result = 0;
        qDebug() << indent() << "EntityModel::flags =" << result;
        icnt--;
        return result;
    }
    result = Qt::ItemIsEnabled | Qt::ItemIsSelectable;
    qDebug() << indent() << "EntityModel::flags =" << result;
    icnt--;
    return result;
}

П.С.
Проверено на:
Win 2k SP4, Win XP SP2
Qt: 4.4.3, 4.5.3, 4.6.x (недавнее из git'а)

похоже начал приближаться к решению.
Добавил фиктивные данные (на ещё один столбец), и не выделяется всегда только последний столбец.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


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


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