2016-03-30 17 views
0

QTabBar en üst satırı rengini değiştirmeye çalışırken sorun yaşıyorum (aşağıdaki resimde mavi çizgi).QT Sekme çubuğunun en üstteki altını çiz Bu tabloyu kapaBu tabloyu aç

enter image description here

bu ya üst sınır (kaydıraç veya gözyaşı gibi) tabBar, ayn bir parça mı? Ve rengini styleSheet ile nasıl değiştirebilirim ve tabBar'ın diğer bölümlerini değiştirmeden nasıl değiştirebilirim?

P.S. : Benim tabBar :: styleSheet boş bir dize döndürür, bu yüzden geçerli stil alamıyorum ve içinde değişiklik yapamıyorum.

+0

"stil sayfası" = tarzı. Tüm widget'lar çizilecek QStyle gerektirir. "Stil sayfası", CSS dosyalarını kullanarak widget'ları stilleyebilmeniz için QStyle'ın kullanışlı bir alt sınıfıdır. Kullandığınız stili seçin ve sekmeleri nasıl çizdiğini değiştirmenin bir yolunu bulun (https://doc.qt.io/qt-5/style-reference.html adresine bakın). – peppe

cevap

0

Sorun çözüldü:

setStyleSheet("QTabBar::tab:selected { selection-background-color: red; }");

0

"Sistem" stili kullanıyorsanız, çizginin rengini değiştiremeyebilirsiniz (UI öğelerinin temsil edilmesine neden Qt tarafından değil, sistem tarafından gerçekleştirilir).

İstediğiniz şekilde özelleştirebileceğiniz QTabBar (ve belki de QTabWidget da) için tam bir stil tanımlamanız gerekir. Qt Style Sheets Examples page'a bakın.