Qtスタディノートスタイルシート

I.概要

Qtのスタイルシートは、HTMLカスケードスタイルシート(CSS)と同様に、ウィジェットの外観を記述するためにQt4.2から導入されたメカニズムです。スタイルシートはQtスタイルの上で機能し(スタイルシートが使用されている場合、QWidget :: style()によって返されるQStyleは「スタイルシート」です)、QPaletteよりも柔軟で強力なメカニズムを提供します。スタイルシートはテキストの説明を使用し、スタイルシートはアプリケーションレベルとウィジェットレベルで設定できます。スタイルシートが異なるレベルで設定されている場合、Qtはすべての有効なスタイルを継承します。これはカスケードです。

1.1スタイルシートの構文

スタイルシートの構文は基本的にHTMLCSSと同じです。Qtのスタイルシートは大文字と小文字は区別されませんが、クラス名、オブジェクト名、属性名は大文字と小文字が区別されます。次の例では、すべてのQTextEditオブジェクトの背景を黄色に設定し、すべてのQPushBoxオブジェクトのテキストを緑色に設定します。

1.1.1スタイルルール

スタイルシートには一連のルールが含まれています。スタイルルールはセレクターと定義で構成されています。セレクターは、ルールの影響を受けるウィジェットを決定し、定義は、ウィジェットに適用される属性を指定します。

このルールでは、QRadioButtonがセレクターであり、{color:red}が定義です。このルールは、QRadioButtonとそのサブクラスが前景色として赤を使用する必要があることを示しています。複数のセレクターは、1つの定義を使用できます。たとえば、コンマを使用してセレクターを区切ります。

定義は、セミコロンで区切られた1つ以上の属性と値のペアで構成されます。次に例を示します。

1.1.2。セレクタータイプ

Qtは、CSS2のすべてのセレクターをサポートします。表14-14に、一般的に使用されるセレクターを示します。

1.1.3。チャイルドコントロール

複雑なコントロールの場合、QComboBoxのドロップダウンボタン、QSpinBoxの上下矢印など、その子コントロールにアクセスできます。次に例を示します。[図]上記のコードはカスタムドロップダウンボタンイメージを使用しています。::はCSS3にあります。疑似要素。 

上記のコードはカスタムドロップダウンボタンイメージを使用しています。::はCSS3の疑似要素です。

1.1.4。疑似状態

セレクターには、ウィジェットの状態を示すカモフラージュ状態を含めることができます。疑似状態は、セレクターの後にコロンで区切られます。以下は、マウスがQPushButtonの上にあるときのルールを定義します。

1.1.5。競合の解決

同じ属性に異なるルールが適用されると、スタイルシートが競合します。この場合、特定のルールが一般的なルールよりも優先され、疑似状態が疑似状態なしよりも優先され、レベルが同じである場合は、最後のルールが優先されます。競合の解決は、CSS2仕様に従って実行されます。

1.1.6。カスケードスタイルシート

QApplicationレベル、または親ウィジェットと子ウィジェットのレベルで設定できます。スタイルが実際に適用されると、これらのレベルのスタイルがマージされます。競合がある場合は、ウィジェット自体のスタイルが最初に使用され、次に親ウィジェット、祖先ウィジェットなどが使用されます。

1.1.7。ボックスモデル

ウィジェットと子ウィジェットは、背景、境界線、マージン、およびパディングをサポートします。図1は、スタイルシートのボックスモデルを示しています。

余白、境界線、パディング、コンテンツの関係を確認できます。デフォルトでは、margin、border-width、およびpaddingプロパティは0です。これは、これらの長方形のボックスが重なっていることを意味します。ウィジェットの背景が指定されている場合、デフォルトでは、背景は境界線の内側の領域にのみ影響しますが、background-clipプロパティを変更することで、さまざまな領域の塗りつぶしを指定できます。

第二に、StyleSheetの使用

StyleSheetファイルのデフォルトのサフィックスはqssです。コマンドラインパラメータ-stylesheetfilename.qssを使用してスタイルシートを設定するか、QApplication :: setStyleSheetまたはQWidget :: setStyleSheetを使用して、アプリケーションまたは特定のコントロールで使用するスタイルシートを設定できます。

:: setStyleSheet関数のパラメータは文字列(qssファイルの名前ではなく、スタイルシートの内容)であるため、直接使用する場合、一度に多数のルールを設定するのは便利ではありませんが、リソースファイルを使用してqssスタイルシートをプログラムに埋め込むことができます。 、次に、QApplication :: setStyleSheetを使用します。例:

 //! 加载样式表
    QFile file(":/qss/psblack.css");
    if (file.open(QFile::ReadOnly)) {
        QString qss = QLatin1String(file.readAll());
        qApp->setStyleSheet(qss);
        file.close();
    } 

スタイルシートルールは、セレクター(セレクター)と属性定義(宣言)で構成されます。

QComboBox#myComboBox::down-arrow:pressed {  
    position: relative;  
    top: 1px; left: 1px;  
}  

この部分はセレクターであり、スタイルシートルールのアプリケーションオブジェクトを指定するために使用されます。

  • QComboBox#myComboBoxこの部分はタイプセレクターと呼ばれ、QComboBoxはオブジェクトクラス名を指定し、#nameはオブジェクトのインスタンス名を指定します(必須ではありません)。他のセレクター構文については、公式ドキュメントを参照してください。
  • ::で前のフィールドから分離された下矢印サブコントロール記述子(サブコントロール)は、ここではコンボボックスのドロップダウンボタンを表します
  • 押された疑似状態(Pseudo-States)記述子。前のフィールドから:で区切られます。ここでは、押された状態を意味します。

最初のフィールドを除いて、上記のいずれも必須ではありませんが、ルールの適用範囲がさらに制限されます

2.1スタイルシートルールの範囲と優先順位

ルールの競合

複数のルールが異なるコンテンツを作成します。次のような多くの状況が考えられます。

QPushButton:ホバー{色:白}
QPushButton {色:赤}

この場合、競合とは見なされません。より具体的なタイプ記述子で定義されたルールの優先度が高いため、マウスを上に置いたボタンのテキストの色は白、それ以外の場合は赤になります。

QPushButton:hover {色:白}
QPushButton:enabled {色:赤}

ここでルールの競合が発生する可能性があります。有効なボタンをマウスでホバーすると、色の定義は何になりますか?QStyleSheetの判断原則は、次のルールの優先度が前のルールよりも高いため、この場合の色は赤です。

QPushButton {色:赤}
QAbstractButton {色:灰色}

これを見つけるのは比較的困難です。基本クラスとそのサブクラスはすべてテキストの色のルールを定義しているので、サブクラスはどのルールを適用する必要がありますか?サブクラスが独自のルールを使用するのは当然だと思われるかもしれませんが、残念ながらそうではありません。スタイルシートではクラスの継承の優先度が考慮されていないため、後者のルールの方が前のルールよりも優先されます。本当にサブカテゴリのルールを個別に設定したい場合は、ルールの順序を交換する必要があります。

 

スタイルシートのカスケード

スタイルシートはQApplicationに適用することも、個別にコントロールに適用することもできるため、特定のコントロールに適用される最終的なスタイルシートは、すべての親コントロールとアプリケーションのスタイルシート設定を重ね合わせてマージすることで取得されます。この場合、次のようなルールの競合も発生する可能性があります。

qApp->setStyleSheet("QPushButton { color: white }");  
myPushButton->setStyleSheet("* { color: blue }");  

この場合、コントロール自体のスタイルシートは、親コントロールまたはアプリケーションのスタイルシートよりも優先されます。

 

スタイルシートの継承

 

標準のCSSスタイルシートでは、コントロールのフォントと色のプロパティが明示的に設定されていない場合、それらは親コントロールから自動的に継承されますが、QTスタイルシートでは、たとえば、
qApp-> setStyleSheet( "のように自動的に継承されません。 QGroupBox {色:赤;} ");

この場合、GroupBoxに追加された子コントロールの色属性は自動的に設定されません。子コントロールの属性を設定する場合は、明示的に設定する必要があります
。qApp-> setStyleSheet( "QGroupBox、QGroupBox * {color:red; } ");

ここでの継承は、上記のカスケードと同じではないことに注意してください。カスケードは、異なるスタイルシートによって設定された同じオブジェクトを参照し、継承は、コントロールの階層に対するスタイルシートルールのセレクターの影響を参照します。

 3つの古典的なケース

/*
 * The MIT License (MIT)
 *
 * Copyright (c) <2013-2014> <Colin Duquesnoy>
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */
QToolTip
{
    border: 1px solid #76797C;
    background-color: rgb(90, 102, 117);;
    color: white;
    padding: 5px;
    opacity: 200;
}
QWidget
{
    color: #eff0f1;
    background-color: #31363b;
    selection-background-color:#3daee9;
    selection-color: #eff0f1;
    background-clip: border;
    border-image: none;
    outline: 0;
}
QWidget:item:hover
{
    background-color: #3daee9;
    color: #eff0f1;
}
QWidget:item:selected
{
    background-color: #3daee9;
}
QCheckBox
{
    spacing: 5px;
    outline: none;
    color: #eff0f1;
    margin-bottom: 2px;
}
QCheckBox:disabled
{
    color: #76797C;
}
QCheckBox::indicator,
QGroupBox::indicator
{
    width: 18px;
    height: 18px;
}
QGroupBox::indicator
{
    margin-left: 2px;
}
QCheckBox::indicator:unchecked
{
    image: url(:/qss_icons/rc/checkbox_unchecked.png);
}
QCheckBox::indicator:unchecked:hover,
QCheckBox::indicator:unchecked:focus,
QCheckBox::indicator:unchecked:pressed,
QGroupBox::indicator:unchecked:hover,
QGroupBox::indicator:unchecked:focus,
QGroupBox::indicator:unchecked:pressed
{
  border: none;
    image: url(:/qss_icons/rc/checkbox_unchecked_focus.png);
}
QCheckBox::indicator:checked
{
    image: url(:/qss_icons/rc/checkbox_checked.png);
}
QCheckBox::indicator:checked:hover,
QCheckBox::indicator:checked:focus,
QCheckBox::indicator:checked:pressed,
QGroupBox::indicator:checked:hover,
QGroupBox::indicator:checked:focus,
QGroupBox::indicator:checked:pressed
{
  border: none;
    image: url(:/qss_icons/rc/checkbox_checked_focus.png);
}
QCheckBox::indicator:indeterminate
{
    image: url(:/qss_icons/rc/checkbox_indeterminate.png);
}
QCheckBox::indicator:indeterminate:focus,
QCheckBox::indicator:indeterminate:hover,
QCheckBox::indicator:indeterminate:pressed
{
    image: url(:/qss_icons/rc/checkbox_indeterminate_focus.png);
}
QCheckBox::indicator:checked:disabled,
QGroupBox::indicator:checked:disabled
{
    image: url(:/qss_icons/rc/checkbox_checked_disabled.png);
}
QCheckBox::indicator:unchecked:disabled,
QGroupBox::indicator:unchecked:disabled
{
    image: url(:/qss_icons/rc/checkbox_unchecked_disabled.png);
}
QRadioButton
{
    spacing: 5px;
    outline: none;
    color: #eff0f1;
    margin-bottom: 2px;
}
QRadioButton:disabled
{
    color: #76797C;
}
QRadioButton::indicator
{
    width: 21px;
    height: 21px;
}
QRadioButton::indicator:unchecked
{
    image: url(:/qss_icons/rc/radio_unchecked.png);
}
QRadioButton::indicator:unchecked:hover,
QRadioButton::indicator:unchecked:focus,
QRadioButton::indicator:unchecked:pressed
{
    border: none;
    outline: none;
    image: url(:/qss_icons/rc/radio_unchecked_focus.png);
}
QRadioButton::indicator:checked
{
    border: none;
    outline: none;
    image: url(:/qss_icons/rc/radio_checked.png);
}
QRadioButton::indicator:checked:hover,
QRadioButton::indicator:checked:focus,
QRadioButton::indicator:checked:pressed
{
    border: none;
    outline: none;
    image: url(:/qss_icons/rc/radio_checked_focus.png);
}
QRadioButton::indicator:checked:disabled
{
    outline: none;
    image: url(:/qss_icons/rc/radio_checked_disabled.png);
}
QRadioButton::indicator:unchecked:disabled
{
    image: url(:/qss_icons/rc/radio_unchecked_disabled.png);
}
QMenuBar
{
    background-color: #31363b;
    color: #eff0f1;
}
QMenuBar::item
{
    background: transparent;
}
QMenuBar::item:selected
{
    background: transparent;
    border: 1px solid #76797C;
}
QMenuBar::item:pressed
{
    border: 1px solid #76797C;
    background-color: #3daee9;
    color: #eff0f1;
    margin-bottom:-1px;
    padding-bottom:1px;
}
QMenu
{
    border: 1px solid #76797C;
    color: #eff0f1;
    margin: 2px;
}
QMenu::icon
{
    margin: 5px;
}
QMenu::item
{
    padding: 5px 30px 5px 30px;
    margin-left: 5px;
    border: 1px solid transparent; /* reserve space for selection border */
}
QMenu::item:selected
{
    color: #eff0f1;
}
QMenu::separator {
    height: 2px;
    background: lightblue;
    margin-left: 10px;
    margin-right: 5px;
}
QMenu::indicator {
    width: 18px;
    height: 18px;
}
/* non-exclusive indicator = check box style indicator
   (see QActionGroup::setExclusive) */
QMenu::indicator:non-exclusive:unchecked {
    image: url(:/qss_icons/rc/checkbox_unchecked.png);
}
QMenu::indicator:non-exclusive:unchecked:selected {
    image: url(:/qss_icons/rc/checkbox_unchecked_disabled.png);
}
QMenu::indicator:non-exclusive:checked {
    image: url(:/qss_icons/rc/checkbox_checked.png);
}
QMenu::indicator:non-exclusive:checked:selected {
    image: url(:/qss_icons/rc/checkbox_checked_disabled.png);
}
/* exclusive indicator = radio button style indicator (see QActionGroup::setExclusive) */
QMenu::indicator:exclusive:unchecked {
    image: url(:/qss_icons/rc/radio_unchecked.png);
}
QMenu::indicator:exclusive:unchecked:selected {
    image: url(:/qss_icons/rc/radio_unchecked_disabled.png);
}
QMenu::indicator:exclusive:checked {
    image: url(:/qss_icons/rc/radio_checked.png);
}
QMenu::indicator:exclusive:checked:selected {
    image: url(:/qss_icons/rc/radio_checked_disabled.png);
}
QMenu::right-arrow {
    margin: 5px;
    image: url(:/qss_icons/rc/right_arrow.png)
}
QWidget:disabled
{
    color: #454545;
    background-color: #31363b;
}
QAbstractItemView
{
    alternate-background-color: #31363b;
    color: #eff0f1;
    border: 1px solid 3A3939;
    border-radius: 2px;
}
QWidget:focus, QMenuBar:focus
{
    border: 1px solid #3daee9;
}
QTabWidget:focus, QCheckBox:focus, QRadioButton:focus, QSlider:focus
{
    border: none;
}
QLineEdit
{
    background-color: #232629;
    padding: 5px;
    border-style: solid;
    border: 1px solid #76797C;
    border-radius: 2px;
    color: #eff0f1;
}
QGroupBox {
    border:1px solid #76797C;
    border-radius: 2px;
    margin-top: 20px;
}
QGroupBox::title {
    subcontrol-origin: margin;
    subcontrol-position: top center;
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 10px;
}
QAbstractScrollArea
{
    border-radius: 2px;
    border: 1px solid #76797C;
    background-color: transparent;
}
QScrollBar:horizontal
{
    height: 15px;
    margin: 3px 15px 3px 15px;
    border: 1px transparent #2A2929;
    border-radius: 4px;
    background-color: #2A2929;
}
QScrollBar::handle:horizontal
{
    background-color: #605F5F;
    min-width: 5px;
    border-radius: 4px;
}
QScrollBar::add-line:horizontal
{
    margin: 0px 3px 0px 3px;
    border-image: url(:/qss_icons/rc/right_arrow_disabled.png);
    width: 10px;
    height: 10px;
    subcontrol-position: right;
    subcontrol-origin: margin;
}
QScrollBar::sub-line:horizontal
{
    margin: 0px 3px 0px 3px;
    border-image: url(:/qss_icons/rc/left_arrow_disabled.png);
    height: 10px;
    width: 10px;
    subcontrol-position: left;
    subcontrol-origin: margin;
}
QScrollBar::add-line:horizontal:hover,QScrollBar::add-line:horizontal:on
{
    border-image: url(:/qss_icons/rc/right_arrow.png);
    height: 10px;
    width: 10px;
    subcontrol-position: right;
    subcontrol-origin: margin;
}
QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on
{
    border-image: url(:/qss_icons/rc/left_arrow.png);
    height: 10px;
    width: 10px;
    subcontrol-position: left;
    subcontrol-origin: margin;
}
QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal
{
    background: none;
}
QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal
{
    background: none;
}
QScrollBar:vertical
{
    background-color: #2A2929;
    width: 15px;
    margin: 15px 3px 15px 3px;
    border: 1px transparent #2A2929;
    border-radius: 4px;
}
QScrollBar::handle:vertical
{
    background-color: #605F5F;
    min-height: 5px;
    border-radius: 4px;
}
QScrollBar::sub-line:vertical
{
    margin: 3px 0px 3px 0px;
    border-image: url(:/qss_icons/rc/up_arrow_disabled.png);
    height: 10px;
    width: 10px;
    subcontrol-position: top;
    subcontrol-origin: margin;
}
QScrollBar::add-line:vertical
{
    margin: 3px 0px 3px 0px;
    border-image: url(:/qss_icons/rc/down_arrow_disabled.png);
    height: 10px;
    width: 10px;
    subcontrol-position: bottom;
    subcontrol-origin: margin;
}
QScrollBar::sub-line:vertical:hover,QScrollBar::sub-line:vertical:on
{
    border-image: url(:/qss_icons/rc/up_arrow.png);
    height: 10px;
    width: 10px;
    subcontrol-position: top;
    subcontrol-origin: margin;
}
QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on
{
    border-image: url(:/qss_icons/rc/down_arrow.png);
    height: 10px;
    width: 10px;
    subcontrol-position: bottom;
    subcontrol-origin: margin;
}
QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical
{
    background: none;
}
QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical
{
    background: none;
}
QTextEdit
{
    background-color: #232629;
    color: #eff0f1;
    border: 1px solid #76797C;
}
QPlainTextEdit
{
    background-color: #232629;;
    color: #eff0f1;
    border-radius: 2px;
    border: 1px solid #76797C;
}
QHeaderView::section
{
    background-color: #76797C;
    color: #eff0f1;
    padding: 5px;
    border: 1px solid #76797C;
}
QSizeGrip {
    image: url(:/qss_icons/rc/sizegrip.png);
    width: 12px;
    height: 12px;
}
QMainWindow::separator
{
    background-color: #31363b;
    color: white;
    padding-left: 4px;
    spacing: 2px;
    border: 1px dashed #76797C;
}
QMainWindow::separator:hover
{
    background-color: #787876;
    color: white;
    padding-left: 4px;
    border: 1px solid #76797C;
    spacing: 2px;
}
QMenu::separator
{
    height: 1px;
    background-color: #76797C;
    color: white;
    padding-left: 4px;
    margin-left: 10px;
    margin-right: 5px;
}
QFrame
{
    border-radius: 2px;
    border: 1px solid #76797C;
}
QFrame[frameShape="0"]
{
    border-radius: 2px;
    border: 1px transparent #76797C;
}
QStackedWidget
{
    border: 1px transparent black;
}
QToolBar {
    border: 1px transparent #393838;
    background: 1px solid #31363b;
    font-weight: bold;
}
QToolBar::handle:horizontal {
    image: url(:/qss_icons/rc/Hmovetoolbar.png);
}
QToolBar::handle:vertical {
    image: url(:/qss_icons/rc/Vmovetoolbar.png);
}
QToolBar::separator:horizontal {
    image: url(:/qss_icons/rc/Hsepartoolbar.png);
}
QToolBar::separator:vertical {
    image: url(:/qss_icons/rc/Vsepartoolbars.png);
}
QPushButton
{
    color: #eff0f1;
    background-color: #31363b;
    border-width: 1px;
    border-color: #76797C;
    border-style: solid;
    padding: 5px;
    border-radius: 2px;
    outline: none;
}
QPushButton:disabled
{
    background-color: #31363b;
    border-width: 1px;
    border-color: #454545;
    border-style: solid;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 2px;
    color: #454545;
}
QPushButton:focus {
    background-color: #3daee9;
    color: white;
}
QPushButton:pressed
{
    background-color: #3daee9;
    padding-top: -15px;
    padding-bottom: -17px;
}
QComboBox
{
    selection-background-color: #3daee9;
    border-style: solid;
    border: 1px solid #76797C;
    border-radius: 2px;
    padding: 5px;
    min-width: 75px;
}
QPushButton:checked{
    background-color: #76797C;
    border-color: #6A6969;
}
QComboBox:hover,QPushButton:hover,QAbstractSpinBox:hover,QLineEdit:hover,QTextEdit:hover,QPlainTextEdit:hover,QAbstractView:hover,QTreeView:hover
{
    border: 1px solid #3daee9;
    color: #eff0f1;
}
QComboBox:on
{
    padding-top: 3px;
    padding-left: 4px;
    selection-background-color: #4a4a4a;
}
QComboBox QAbstractItemView
{
    background-color: #232629;
    border-radius: 2px;
    border: 1px solid #76797C;
    selection-background-color: #3daee9;
}
QComboBox::drop-down
{
    subcontrol-origin: padding;
    subcontrol-position: top right;
    width: 15px;
    border-left-width: 0px;
    border-left-color: darkgray;
    border-left-style: solid;
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
}
QComboBox::down-arrow
{
    image: url(:/qss_icons/rc/down_arrow_disabled.png);
}
QComboBox::down-arrow:on, QComboBox::down-arrow:hover,
QComboBox::down-arrow:focus
{
    image: url(:/qss_icons/rc/down_arrow.png);
}
QAbstractSpinBox {
    padding: 5px;
    border: 1px solid #76797C;
    background-color: #232629;
    color: #eff0f1;
    border-radius: 2px;
    min-width: 75px;
}
QAbstractSpinBox:up-button
{
    background-color: transparent;
    subcontrol-origin: border;
    subcontrol-position: center right;
}
QAbstractSpinBox:down-button
{
    background-color: transparent;
    subcontrol-origin: border;
    subcontrol-position: center left;
}
QAbstractSpinBox::up-arrow,QAbstractSpinBox::up-arrow:disabled,QAbstractSpinBox::up-arrow:off {
    image: url(:/qss_icons/rc/up_arrow_disabled.png);
    width: 10px;
    height: 10px;
}
QAbstractSpinBox::up-arrow:hover
{
    image: url(:/qss_icons/rc/up_arrow.png);
}
QAbstractSpinBox::down-arrow,QAbstractSpinBox::down-arrow:disabled,QAbstractSpinBox::down-arrow:off
{
    image: url(:/qss_icons/rc/down_arrow_disabled.png);
    width: 10px;
    height: 10px;
}
QAbstractSpinBox::down-arrow:hover
{
    image: url(:/qss_icons/rc/down_arrow.png);
}
QLabel
{
    border: 0px solid black;
}
QTabWidget{
    border: 0px transparent black;
}
QTabWidget::pane {
    border: 1px solid #76797C;
    padding: 5px;
    margin: 1px;
}
QTabBar
{
    qproperty-drawBase: 0;
    left: 5px; /* move to the right by 5px */
    border-radius: 3px;
}
QTabBar:focus
{
    border: 0px transparent black;
}
QTabBar::close-button  {
    image: url(:/qss_icons/rc/close.png);
    background: transparent;
}
QTabBar::close-button:hover
{
    image: url(:/qss_icons/rc/close-hover.png);
    background: transparent;
}
QTabBar::close-button:pressed {
    image: url(:/qss_icons/rc/close-pressed.png);
    background: transparent;
}
/* TOP TABS */
QTabBar::tab:top {
    color: #eff0f1;
    border: 1px solid #76797C;
    border-bottom: 1px transparent black;
    background-color: #31363b;
    padding: 5px;
    min-width: 50px;
    border-top-left-radius: 2px;
    border-top-right-radius: 2px;
}
QTabBar::tab:top:!selected
{
    color: #eff0f1;
    background-color: #54575B;
    border: 1px solid #76797C;
    border-bottom: 1px transparent black;
}
QTabBar::tab:top:!selected:hover {
    background-color: #3daee9;
}
/* BOTTOM TABS */
QTabBar::tab:bottom {
    color: #eff0f1;
    border: 1px solid #76797C;
    border-top: 1px transparent black;
    background-color: #31363b;
    padding: 5px;
    border-bottom-left-radius: 2px;
    border-bottom-right-radius: 2px;
    min-width: 50px;
}
QTabBar::tab:bottom:!selected
{
    color: #eff0f1;
    background-color: #54575B;
    border: 1px solid #76797C;
    border-top: 1px transparent black;
    border-bottom-left-radius: 2px;
    border-bottom-right-radius: 2px;
}
QTabBar::tab:bottom:!selected:hover {
    background-color: #3daee9;
}
/* LEFT TABS */
QTabBar::tab:left {
    color: #eff0f1;
    border: 1px solid #76797C;
    border-left: 1px transparent black;
    background-color: #31363b;
    padding: 5px;
    border-top-right-radius: 2px;
    border-bottom-right-radius: 2px;
    min-height: 50px;
}
QTabBar::tab:left:!selected
{
    color: #eff0f1;
    background-color: #54575B;
    border: 1px solid #76797C;
    border-left: 1px transparent black;
    border-top-right-radius: 2px;
    border-bottom-right-radius: 2px;
}
QTabBar::tab:left:!selected:hover {
    background-color: #3daee9;
}
/* RIGHT TABS */
QTabBar::tab:right {
    color: #eff0f1;
    border: 1px solid #76797C;
    border-right: 1px transparent black;
    background-color: #31363b;
    padding: 5px;
    border-top-left-radius: 2px;
    border-bottom-left-radius: 2px;
    min-height: 50px;
}
QTabBar::tab:right:!selected
{
    color: #eff0f1;
    background-color: #54575B;
    border: 1px transparent #76797C;
    border-right: 1px transparent black;
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
}
QTabBar::tab:right:!selected:hover {
    background-color: #3daee9;
}
QTabBar QToolButton::right-arrow:enabled {
     image: url(:/qss_icons/rc/right_arrow.png);
 }
 QTabBar QToolButton::left-arrow:enabled {
     image: url(:/qss_icons/rc/left_arrow.png);
 }
QTabBar QToolButton::right-arrow:disabled {
     image: url(:/qss_icons/rc/right_arrow_disabled.png);
 }
 QTabBar QToolButton::left-arrow:disabled {
     image: url(:/qss_icons/rc/left_arrow_disabled.png);
 }
QDockWidget {
    background: #31363b;
    border: 1px solid #403F3F;
    titlebar-close-icon: url(:/qss_icons/rc/close.png);
    titlebar-normal-icon: url(:/qss_icons/rc/undock.png);
}
QDockWidget::close-button, QDockWidget::float-button {
    border: 1px solid transparent;
    border-radius: 2px;
    background: transparent;
}
QDockWidget::close-button:hover, QDockWidget::float-button:hover {
    background: rgba(255, 255, 255, 10);
}
QDockWidget::close-button:pressed, QDockWidget::float-button:pressed {
    padding: 1px -1px -1px 1px;
    background: rgba(255, 255, 255, 10);
}
QTreeView, QListView
{
    border: 1px solid #76797C;
    background-color: #232629;
}
QTreeView:branch:selected, QTreeView:branch:hover
{
    background: url(:/qss_icons/rc/transparent.png);
}
QTreeView::branch:has-siblings:!adjoins-item {
    border-image: url(:/qss_icons/rc/transparent.png);
}
QTreeView::branch:has-siblings:adjoins-item {
    border-image: url(:/qss_icons/rc/transparent.png);
}
QTreeView::branch:!has-children:!has-siblings:adjoins-item {
    border-image: url(:/qss_icons/rc/transparent.png);
}
QTreeView::branch:has-children:!has-siblings:closed,
QTreeView::branch:closed:has-children:has-siblings {
    image: url(:/qss_icons/rc/branch_closed.png);
}
QTreeView::branch:open:has-children:!has-siblings,
QTreeView::branch:open:has-children:has-siblings  {
    image: url(:/qss_icons/rc/branch_open.png);
}
QTreeView::branch:has-children:!has-siblings:closed:hover,
QTreeView::branch:closed:has-children:has-siblings:hover {
    image: url(:/qss_icons/rc/branch_closed-on.png);
    }
QTreeView::branch:open:has-children:!has-siblings:hover,
QTreeView::branch:open:has-children:has-siblings:hover  {
    image: url(:/qss_icons/rc/branch_open-on.png);
    }
QListView::item:!selected:hover, QListView::item:!selected:hover, QTreeView::item:!selected:hover  {
    background: rgba(0, 0, 0, 0);
    outline: 0;
    color: #eff0f1
}
QListView::item:selected:hover, QListView::item:selected:hover, QTreeView::item:selected:hover  {
    background: #3daee9;
    color: #eff0f1;
}
QSlider::groove:horizontal {
    border: 1px solid #565a5e;
    height: 4px;
    background: #565a5e;
    margin: 0px;
    border-radius: 2px;
}
QSlider::handle:horizontal {
    background: #232629;
    border: 1px solid #565a5e;
    width: 16px;
    height: 16px;
    margin: -8px 0;
    border-radius: 9px;
}
QSlider::groove:vertical {
    border: 1px solid #565a5e;
    width: 4px;
    background: #565a5e;
    margin: 0px;
    border-radius: 3px;
}
QSlider::handle:vertical {
    background: #232629;
    border: 1px solid #565a5e;
    width: 16px;
    height: 16px;
    margin: 0 -8px;
    border-radius: 9px;
}
QToolButton {
    background-color: transparent;
    border: 1px transparent #76797C;
    border-radius: 2px;
    margin: 3px;
    padding: 5px;
}
QToolButton[popupMode="1"] { /* only for MenuButtonPopup */
 padding-right: 20px; /* make way for the popup button */
 border: 1px #76797C;
 border-radius: 5px;
}
QToolButton[popupMode="2"] { /* only for InstantPopup */
 padding-right: 10px; /* make way for the popup button */
 border: 1px #76797C;
}
QToolButton:hover, QToolButton::menu-button:hover {
    background-color: transparent;
    border: 1px solid #3daee9;
    padding: 5px;
}
QToolButton:checked, QToolButton:pressed,
        QToolButton::menu-button:pressed {
    background-color: #3daee9;
    border: 1px solid #3daee9;
    padding: 5px;
}
/* the subcontrol below is used only in the InstantPopup or DelayedPopup mode */
QToolButton::menu-indicator {
    image: url(:/qss_icons/rc/down_arrow.png);
    top: -7px; left: -2px; /* shift it a bit */
}
/* the subcontrols below are used only in the MenuButtonPopup mode */
QToolButton::menu-button {
    border: 1px transparent #76797C;
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
    /* 16px width + 4px for border = 20px allocated above */
    width: 16px;
    outline: none;
}
QToolButton::menu-arrow {
    image: url(:/qss_icons/rc/down_arrow.png);
}
QToolButton::menu-arrow:open {
    border: 1px solid #76797C;
}
QPushButton::menu-indicator  {
    subcontrol-origin: padding;
    subcontrol-position: bottom right;
    left: 8px;
}
QTableView
{
    border: 1px solid #76797C;
    gridline-color: #31363b;
    background-color: #232629;
}
QTableView, QHeaderView
{
    border-radius: 0px;
}
QTableView::item:pressed, QListView::item:pressed, QTreeView::item:pressed  {
    background: #3daee9;
    color: #eff0f1;
}
QTableView::item:selected:active, QTreeView::item:selected:active, QListView::item:selected:active  {
    background: #3daee9;
    color: #eff0f1;
}
QHeaderView
{
    background-color: #31363b;
    border: 1px transparent;
    border-radius: 0px;
    margin: 0px;
    padding: 0px;
}
QHeaderView::section  {
    background-color: #31363b;
    color: #eff0f1;
    padding: 5px;
    border: 1px solid #76797C;
    border-radius: 0px;
    text-align: center;
}
QHeaderView::section::vertical::first, QHeaderView::section::vertical::only-one
{
    border-top: 1px solid #76797C;
}
QHeaderView::section::vertical
{
    border-top: transparent;
}
QHeaderView::section::horizontal::first, QHeaderView::section::horizontal::only-one
{
    border-left: 1px solid #76797C;
}
QHeaderView::section::horizontal
{
    border-left: transparent;
}
QHeaderView::section:checked
 {
    color: white;
    background-color: #334e5e;
 }
 /* style the sort indicator */
QHeaderView::down-arrow {
    image: url(:/qss_icons/rc/down_arrow.png);
}
QHeaderView::up-arrow {
    image: url(:/qss_icons/rc/up_arrow.png);
}
QTableCornerButton::section {
    background-color: #31363b;
    border: 1px transparent #76797C;
    border-radius: 0px;
}
QToolBox  {
    padding: 5px;
    border: 1px transparent black;
}
QToolBox::tab {
    color: #eff0f1;
    background-color: #31363b;
    border: 1px solid #76797C;
    border-bottom: 1px transparent #31363b;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}
QToolBox::tab:selected { /* italicize selected tabs */
    font: italic;
    background-color: #31363b;
    border-color: #3daee9;
 }
QStatusBar::item {
    border: 1px solid #76797C;
    border-radius: 2px;
 }
QFrame[height="3"], QFrame[width="3"] {
    background-color: #76797C;
}
QSplitter::handle {
    border: 1px dashed #76797C;
}
QSplitter::handle:hover {
    background-color: #787876;
    border: 1px solid #76797C;
}
QSplitter::handle:horizontal {
    width: 1px;
}
QSplitter::handle:vertical {
    height: 1px;
}
QProgressBar {
    border: 1px solid #76797C;
    border-radius: 5px;
    text-align: center;
}
QProgressBar::chunk {
    background-color: #05B8CC;
}

 

おすすめ

転載: blog.csdn.net/a8039974/article/details/105058191