Название: Elide текста прозрачностью Отправлено: mutineer от Октябрь 17, 2012, 17:32 Привет
Кто-нибудь знает как в QtQuick 1.1 сделать elide текста в элементе Text не троеточием, а увеличением прозрачности букв? Название: Re: Elide текста прозрачностью Отправлено: vregess от Октябрь 17, 2012, 17:50 Если не найдешь, как в QtQuick, то вот как я делал на с++: свой QGraphicsEffect, вот реализация метода draw():
Код
Здесь m_view - это объект, на который наложен эффект; те эффект жестко привязан к определенному классу, если чуть подправить, то можно сделать для общего случая. P.S. Кстати, возможно тут много действий (например можно закешировать создание градиента), может кто увидит и оптимизирует) Название: Re: Elide текста прозрачностью Отправлено: mutineer от Октябрь 17, 2012, 17:54 Что за 25 и 28?
Название: Re: Elide текста прозрачностью Отправлено: vregess от Октябрь 17, 2012, 18:01 Что за 25 и 28? 25 - это ширина "эффекта", те ширина маски (высота равна высоте объекта). Выбрано от балды. А 28 - это запас в 3 пикселя (25 + 3), тк я заметил, что иногда край остается не замаскированным. rect.height() + 1 по той же причине. Возможно что-то с системой координат или может я где-то намудрил, но долго думать не стал над этим - брутфорс сэкономил время. Название: Re: Elide текста прозрачностью Отправлено: mutineer от Октябрь 17, 2012, 18:09 Спасибо, что-то я забыл про существование эффектов))
Название: Re: Elide текста прозрачностью Отправлено: vregess от Октябрь 17, 2012, 18:16 Не за что. Я тоже поначалу смотрел совсем в другую сторону.
|