Russian Qt Forum
Сентябрь 30, 2024, 10:25 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: TreeWidgetItem: Нужна невыделенная иконка узла при выделении узла  (Прочитано 5165 раз)
kaibannez
Гость
« : Декабрь 08, 2009, 05:09 »

Есть дерево с иконками к каждому элементу. При выделении любого элемента иконка выделяется вместе с ним. Мне нужно избавиться от этого эффекта.

Пример:
Сейчас так:

Нужно так:


Вот код для обработки нажаия:
Код:
void Navigator::treeClicked(QTreeWidgetItem *itm, int)
{
        // other code
        qDebug() << itm->icon(0).isNull();
}

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

Собственно, вопрос- возможно ли достижение необходимого мне эффекта в Qt?
P.S. Наверняка, где-то есть флаг, который хотя бы позволяет не закрашивать прозрачную область на иконке. Но найти ничего подобного мне не удалось.
« Последнее редактирование: Декабрь 08, 2009, 10:09 от kaibannez » Записан
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 864

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« Ответ #1 : Декабрь 08, 2009, 09:56 »

Хороший вопрос, присоединяюсь. Мне тоже не нравится, когда выделяется с иконкой.
Она становится "не съедобной".
Можно сказа баго...
Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
kaibannez
Гость
« Ответ #2 : Декабрь 12, 2009, 22:53 »

Ни у кого нет ответа или идей?
Записан
spectre71
Гость
« Ответ #3 : Декабрь 13, 2009, 00:31 »

Ни у кого нет ответа или идей?

Однозначно, проблема решается через своего делегата! Хотя может и не просто.
Записан
Danila_Bagrofff
Гость
« Ответ #4 : Декабрь 14, 2009, 09:20 »

Спектр, то есть ты предлагаешь самому реализовать подсветку?

А, может, вообще убрать выделение, указав NoSelection, и наоборот потдкрасить только текст, переопределив clicked?...
Записан
spectre71
Гость
« Ответ #5 : Декабрь 14, 2009, 09:25 »

Спектр, то есть ты предлагаешь самому реализовать подсветку?

А, может, вообще убрать выделение, указав NoSelection, и наоборот потдкрасить только текст, переопределив clicked?...

Преопределение "clicked" не поможет. Делай через делегат.
Записан
kaibannez
Гость
« Ответ #6 : Декабрь 16, 2009, 09:50 »

Из предложенного, подсветка наиболее прямое решение (как я себе могу представить реализацию).
Но, по моему есть более прямое решение. Например, для иконок обычно можно указать иконку для всех состояний. Например, в Qt Creator в дизайнере для иконки главного окна WindowIcon можно указать иконки для всех состояний (Normal Off, Normal On, Disable, ...Selected...). Как это сделать для иконки в дереве я не знаю. В общем то, вопрос в этом.
Записан
SABROG
Гость
« Ответ #7 : Декабрь 16, 2009, 10:21 »

Я этот вопрос задавал еще в 2007 году, тогда я решил даже не заморачиваться: http://lists.trolltech.com/qt-interest/2007-04/thread00052-0.html
Записан
kaibannez
Гость
« Ответ #8 : Декабрь 18, 2009, 07:46 »

Мда. Это действительно малость не соответствует гимну Qt. Могу я попросить  у вас, SABROG, кусочек кода, реализующий переопределение (вы ведь так сделали, на сколько я понял)?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.043 секунд. Запросов: 20.