Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: admsasha от Сентябрь 02, 2009, 12:29



Название: qLabel и прозрачный фон
Отправлено: admsasha от Сентябрь 02, 2009, 12:29

Сделал картинку png с прозрачным фоном, вставил в QLabel. Всё хорошо. НО

Я обрабатываю нажатия на эту QLabel через eventFilter. И заметил, что даже если я нажму на прозрачный фон, событие произойдет. Так вот, как сделать, чтобы event срабатывал только по клику на непрозрачном фоне ?



Название: Re: qLabel и прозрачный фон
Отправлено: Rcus от Сентябрь 02, 2009, 12:33
void QWidget::setMask ( const QBitmap & bitmap )
В доках даже пример дан именно по этому случаю


Название: Re: qLabel и прозрачный фон
Отправлено: admsasha от Сентябрь 02, 2009, 12:37
void QWidget::setMask ( const QBitmap & bitmap )
В доках даже пример дан именно по этому случаю

Вот ответ, странно, что до ответа я пробывал, но у меня не получилось... думал, что делаю что-то не так. Причем не первый раз так :-D
   
    QPixmap pixmap("images/picture.png");
    setPixmap(pixmap);
    setMask(pixmap.mask());


Тем неменее, cпасибо :-)