Название: Выделение иконки в QListWidget Отправлено: Natalie от Февраля 21, 2006, 13:48 При выделении item-а в QListWidget backdround иконки остается белым.
Получается как-то некрасиво когда надпись подсвечивается синим, а иконка нет. Такое ощущение, что иконка вообще отдельно от item-а. Как сделать, чтобы background иконки при выделении item-а также становился бы cиним? Может есть какое-то стандартное средство? Help, pleeeease!!!! Название: Выделение иконки в QListWidget Отправлено: nEoN от Февраля 21, 2006, 14:12 Чтобы фон иконки менялся нужно сделать его прозрачным, а не белым.
Я бы порекомендовал использовать картинки в формате PNG, они поддерживают прозрачность. Название: Выделение иконки в QListWidget Отправлено: Natalie от Февраля 21, 2006, 14:53 Так фон должен быть прозрачным у самой иконки или прозрачность задавать программно? Если программно, то как?
Название: Выделение иконки в QListWidget Отправлено: nEoN от Февраля 21, 2006, 15:06 Лучше всего изначально делать иконки с прозрачным фоном.
Можно и програмно делать прозрачность через наложение маски, но в данном случае по моему лучше использовать первый вариант. Название: Выделение иконки в QListWidget Отправлено: burunduk от Февраля 21, 2006, 15:50 QPixmap pixmap("image.png");
pixmap.setMask(pixmap.createHeuristicMask()); Цитата: "Natalie" Так фон должен быть прозрачным у самой иконки или прозрачность задавать программно? Если программно, то как? Название: Выделение иконки в QListWidget Отправлено: Natalie от Февраля 21, 2006, 18:06 Иконки у меня с прозрачным фоном.
Попробовала написать: pixmap.setMask(pixmap.createHeuristicMask()); (a также CreateMaskFromColor...) Но все это не помогает. :( Название: Выделение иконки в QListWidget Отправлено: burunduk от Февраля 21, 2006, 18:13 а версия Qt ?
я вставлял иконки в QTableView, то всё красиво выделяется. Естественно прозрачный фон ставил. Можно попробывать на крайний случай заменить например QTableWidget'om. Название: Выделение иконки в QListWidget Отправлено: Natalie от Февраля 21, 2006, 19:05 Переделала на QTableWidget и теперь все нормально подсвечивается. Спасибо.
Только вот надпись (т.е. весь item кроме иконки) выделяется пунктиром (прямоугольником таким). Его как-нибудь убрать можно? Название: Выделение иконки в QListWidget Отправлено: burunduk от Февраля 22, 2006, 11:54 Кто найдет как убрать этот пунктирный прямоугольник выложите пожалуйста здесь код. Я искал и не нашёл :(
Название: Выделение иконки в QListWidget Отправлено: nEoN от Февраля 22, 2006, 12:51 Цитата: "burunduk" Кто найдет как убрать этот пунктирный прямоугольник выложите пожалуйста здесь код. Я искал и не нашёл :( Вот один вариант - переопределяем метод drawFocus у делегата, и делаем его пустым. Более простого пути я не нашёл. Код: class MyItemDelegate: public QItemDelegate Название: Выделение иконки в QListWidget Отправлено: burunduk от Февраля 22, 2006, 13:59 класс, работает ! мне это тоже как я понял нужно было :)
Название: Выделение иконки в QListWidget Отправлено: Natalie от Февраля 22, 2006, 14:02 Все получилось! Большое всем спасибо за помощь! :)
|