2014-01-16 12 views
8

Wie verstecken Pfeile?Hide QScrollBar Pfeile

Ich muss in der horizontalen Bildlaufleiste ausblenden. Ich habe versucht, mit setStyleSheet zu verbergen:

setStyleSheet(" QScrollBar:left-arrow:horizontal, QScrollBar::right-arrow:horizontal { height:0px; }") 

aber es funktioniert nicht.

+0

Meinst du nur die Pfeile oder die Knöpfe mit den Pfeilen? – thuga

+0

Ja genau das. – Gspo

+0

Ich habe versucht in QtDesigner Bildlaufleiste anzupassen und es scheint, dass Stylesheets für Bildlaufleiste in Qt eine schwierige Geschichte haben. Sie können nicht nur den Pfeilstil dafür ändern. Sie sollten den Stil für ALLES in QScrollBar neu implementieren, und erst dann wird der Stil geändert. Siehe Beispiel hier: http://qt-project.org/doc/qt-5/stylesheet-examples.html#customizing-qscrollbar. Kopieren von ganzen Beispielarbeiten Nur Pfeile Teil - nicht. Das ist seltsam, glaube ich. –

Antwort

8

Wenn Sie nur die Pfeile innerhalb Tasten zu verstecken brauchen, dann können Sie versuchen, auf diese Weise Hintergrund und den Rahmen zu setzen:

QScrollBar::right-arrow:horizontal, QScrollBar::left-arrow:horizontal 
{ 
     border: none; 
     background: none; 
     color: none; 
} 

Wenn Sie ganze Tasten verstecken wollen, dann gehen Sie mit Code unten.

QScrollBar::add-line:horizontal { 
     border: none; 
     background: none; 
} 

QScrollBar::sub-line:horizontal { 
     border: none; 
     background: none; 
} 
-1

Um eine Bildlaufleiste auszublenden, können Sie die Bildlaufleiste für diese Bildlaufleiste festlegen (in Ihrem Fall horizontal). Zum Beispiel:

QScrollBar scrollBar; 
scrollBar.setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); 
+1

Ich muss ** Pfeile ** der Bildlaufleiste nicht ganz ausblenden. – Gspo