2014-05-07 23 views
6

Mam Qt 5.2.1 oparty na widgetach projekt. Chcę pokazać chłodnym podpowiedź ze strzałką, podczas gdy użytkownik najedzie kilka etykiet (lub dowolny inny widżety, które mogą pokazać obraz), podobnie jak to:Etykietka Qt ze strzałką

qtooltip with arrow

ale znalazłem żadnych przykładów tego. Czy mogę to zrobić z QToolTip? Czy zamiast tego powinienem użyć innych widżetów, aby osiągnąć ten sam wygląd?

Nie ma znaczenia, jakich klas i stylów muszę użyć, muszę osiągnąć podobny efekt w dowolny sposób.

Próbowałem dostosować QToolTip z podstawowym CSS, ale się nie udało.

Odpowiedz

8

Można użyć QBalloonTip który jest klasa wewnętrzny zdefiniowany w

QtDir/5.2.1/Src/qtbase/src/widgets/util/qsystemtrayicon_p.h 

QBalloonTip dziedziczy QWidget i jest realizowany w qsystemtrayicon.cpp w tym samym katalogu. Ma następującą metodę wyświetlania końcówki balonu:

void QBalloonTip::balloon(const QPoint& pos, int msecs, bool showArrow) 

Możesz zmodyfikować kod źródłowy tej klasy tak, aby zawierał pożądaną końcówkę balonu.

+0

To jest naprawdę brudna i głęboka sztuczka! Przepisałem niektóre części tej klasy i wszystko działa zgodnie z oczekiwaniami, dziękuję bardzo! –

+1

Nie rozumiem, dlaczego programiści Qt nie wprowadzili tej klasy do użytku, ponieważ IMHO jest bardzo pomocny i wielu programistów na całym świecie wolałoby używać go zamiast klasycznego QToolTip. –