Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: reymon от Октябрь 14, 2009, 04:03



Название: Прозрачный ToolTip
Отправлено: reymon от Октябрь 14, 2009, 04:03
Доброго времени суток.
Как сделать прозрачный (ну или поменять цвет фона) toolTip. Почему-то постоянно желтоватый стандартный фон.
пробывал и в дезайнере выставлять палитру у виджета ToolTipBase (Inactive) и в коде писал

QPalette ss = ui.label->palette();
ss.setBrush(QPalette::Inactive,QPalette::ToolTipBase,QColor(0,0,0,0));
ui.label->setPalette(ss);

не устанавливает и все...
перепробывал все группы QPalette::ColorGroup (QT 4.5)

что делать ? уж совсем не охото свои QToolTip-ы писать


Название: Re: Прозрачный ToolTip
Отправлено: BaltikS от Октябрь 14, 2009, 10:39
Например так, черезstyleSheet
Код:
/* A QToolTip is a QLabel ... */
QToolTip {
    border: 2px solid darkkhaki;
    padding: 5px;
    border-radius: 3px;
    opacity: 200;
}
P.S. взято из examples Qt


Название: Re: Прозрачный ToolTip
Отправлено: reymon от Октябрь 14, 2009, 11:39
Спасибо. Прозрачности не получилось добиться background: transperent делает черный фон, зато градиент встал замечательно


Название: Re: Прозрачный ToolTip
Отправлено: SABROG от Октябрь 14, 2009, 21:14
Просто ты не умеешь их готовить :)

Код
C++ (Qt)
   QPalette palette = QToolTip::palette();
   palette.setColor(QPalette::ToolTipBase, Qt::black);
   palette.setColor(QPalette::ToolTipText, Qt::green);
   QToolTip::setPalette(palette);
 

P.S.: прозрачным тултип ты не сделаешь, однако можно попробовать перехватывать QEvent::ToolTip и искать в детях нужного виджета объект с именем "qtooltip_label", потом приводить его к QLabel и попробовать что-то сделать с ним.


Название: Re: Прозрачный ToolTip
Отправлено: _OLEGator_ от Октябрь 16, 2009, 22:43
Вариант прозрачности

Код
C++ (Qt)
QToolTip
{
  opacity: 230;
}

Не заметил, этот вариант есть у BaltikS