2016-05-12 13 views

Antwort

1

Es gibt eine QScrollBar Klasse. Sie können eine Unterklasse erstellen und die Methode paintEvent überschreiben, um eine benutzerdefinierte Bemalung durchzuführen. Jede Klasse, die von QAbstractScrollArea (z. B. QScrollArea, QTextEdit usw.) erbt, verfügt über zwei Methoden zum Festlegen der Bildlaufleiste für die vertikale oder horizontale Bildlaufleiste (z. B. setVerticalScrollbar()). Erstellen Sie also eine eigene Bildlaufleistenklasse, und wenden Sie diese Methoden dann auf die Widgets an, die sie verwenden können.

+0

Danke dafür. Ich habe eine Lösung für eine Markierungsleiste in C# gefunden, die das Erstellen einer Listbox mit 1 Pixel hohen Zeilen beinhaltet, würde sowas in Qt funktionieren? –

+1

Nun, Sie können alles zum Laufen bringen, aber das scheint irgendwie hacky. Die Verwendung der Bildlaufleiste scheint am sinnvollsten zu sein, da die Arten von Dingen, die eine Markierungsleiste benötigen, bereits eine Bildlaufleiste haben. –

+0

Ok danke nochmal. Ich habe deine Antwort akzeptiert. –