2017-01-23 3 views
1

Wie erhält man die aktuelle Mauszeigergröße in Pixel? Ich versuchte mywidget.cursor().pixmap().size(), aber es gibt (0,0) für den Standardpfeilcursor zurück.Wie erhält man die Cursorgröße des aktuellen Widgets in Pixeln?

(Ich brauche dies, um eine spezielle Tooltip-Label, die direkt unter dem Cursor angezeigt würde und würde den Cursor folgen und ich kann den Standard QToolTip aus bestimmten Gründen nicht verwenden - Verzögerungen usw. Ich habe bereits eine schöne, funktionierende Lösung aber Wenn ich das Label genau an der Cursorposition anzeige, wird der Cursor über den Text gestrichen, was einen Text auf dem Etikett versteckt, den ich natürlich mit einer "magischen" Zahl wie 32 Pixel nach unten verschieben könnte.)

Antwort

0

Dies ist mit den Standardcursorn nicht möglich. Die Methoden QCursor funktionieren nur mit benutzerdefinierten Bitmaps oder Pixmaps. Sie müssen also entweder eigene Cursor verwenden oder die Größe schätzen.

Eine schnelle Websuche legt nahe, dass die Standard-Cursor in der Größe variieren können und es gibt kein festes Maximum (obwohl das wahrscheinlich von der Plattform abhängt). Zum Beispiel enthält der Größenbereich auf X11 normalerweise 16, 24, 32, 48 und 64, aber andere Größen sind möglich (sogar so groß wie 512). Der Standardwert ist normalerweise 32.

Wenn Sie Genauigkeit benötigen, scheint es, dass die Verwendung von benutzerdefinierten Cursorn der einzige Weg ist, dieses Problem zu lösen.

+0

Danke. Ich habe die Web-Recherche mit ungefähr der gleichen Schlussfolgerung gemacht. Leider scheint es keine einfache und genaue Lösung zu geben. –

Verwandte Themen