2017-08-13 6 views
1

QDarkStyleを有効にして、プログレスバーのチャンクに独自の色を付けることができます。私がしたいのは、進行状況バーだけに以前のデフォルトのスタイルを持たせることです。これを行う方法?PyQtのQtウィジェットのネイティブスタイルを取得するには?

私は運が悪い設定ui.Progressbar.setStylesheet('')を試しました。

QProgressBarのネイティブのデフォルトスタイルがQtにどのようなものかわかりません。だから私はスタイルシートをそれに設定することさえできません。

もこの

QProgressBar { 
    border: 1px solid #76797C; 
    text-align: center; 
    color:black; 
} 

    QProgressBar::chunk { 
     background-color:green ; 
} 

を行うと、プログレスバーの充填時の効果の移動種別を除去のみ影響を与えずに、緑のチャンクの色を示しています。これを回避するには?

答えて

1

単純にQWidget.setStyle(style)を使用したい場合は、各ウィジェットのスタイルを指定できます。たとえば、アプリケーションのスタイルを暗いスタイルに設定し、そのスタイルがデフォルトのネイティブスタイルであるQCommonStyleに設定されているプログレスバーウィジェットを使用できます。

以下の例では、あなたの暗いスタイルがないので、私は融合スタイルを使用しました。

from PyQt5.QtWidgets import * 

app = QApplication([]) 

# store native style 
native_style = QCommonStyle() 

# set new style globally 
s = QStyleFactory.create('Fusion') 
app.setStyle(s) 

w = QWidget() 
w.setFixedSize(300, 200) 
l = QVBoxLayout(w) 
l.addWidget(QLabel('Label')) 
l.addWidget(QPushButton('Button')) 
l.addWidget(QProgressBar()) 

# create progressbar in old style 
p = QProgressBar() 
p.setStyle(native_style) 
l.addWidget(p) 

w.show() 
app.exec_() 

2つのプログレスバーのいずれかが異なるスタイルを持つことがはっきり分かります。

enter image description here

関連する問題