├── MANIFEST.in ├── pyqtcss ├── src │ ├── dark_blue │ │ ├── error.png │ │ ├── critical.png │ │ ├── question.png │ │ ├── warning.png │ │ ├── img │ │ │ ├── close.png │ │ │ ├── error.png │ │ │ ├── undock.png │ │ │ ├── critical.png │ │ │ ├── question.png │ │ │ ├── sizegrip.png │ │ │ ├── up_arrow.png │ │ │ ├── warning.png │ │ │ ├── branch_open.png │ │ │ ├── close-hover.png │ │ │ ├── down_arrow.png │ │ │ ├── left_arrow.png │ │ │ ├── right_arrow.png │ │ │ ├── transparent.png │ │ │ ├── Hmovetoolbar.png │ │ │ ├── Hsepartoolbar.png │ │ │ ├── Vmovetoolbar.png │ │ │ ├── Vsepartoolbar.png │ │ │ ├── branch_closed.png │ │ │ ├── branch_open-on.png │ │ │ ├── close-pressed.png │ │ │ ├── radio_checked.png │ │ │ ├── branch_closed-on.png │ │ │ ├── checkbox_checked.png │ │ │ ├── radio_unchecked.png │ │ │ ├── stylesheet-vline.png │ │ │ ├── checkbox_unchecked.png │ │ │ ├── down_arrow_disabled.png │ │ │ ├── left_arrow_disabled.png │ │ │ ├── radio_checked_focus.png │ │ │ ├── up_arrow_disabled.png │ │ │ ├── radio_unchecked_focus.png │ │ │ ├── right_arrow_disabled.png │ │ │ ├── stylesheet-branch-end.png │ │ │ ├── checkbox_checked_focus.png │ │ │ ├── checkbox_indeterminate.png │ │ │ ├── checkbox_unchecked_focus.png │ │ │ ├── radio_checked_disabled.png │ │ │ ├── radio_unchecked_disabled.png │ │ │ ├── stylesheet-branch-more.png │ │ │ ├── checkbox_checked_disabled.png │ │ │ ├── checkbox_indeterminate_focus.png │ │ │ ├── checkbox_unchecked_disabled.png │ │ │ └── checkbox_indeterminate_disabled.png │ │ ├── style.qrc │ │ └── style.qss │ ├── classic │ │ ├── style.qrc │ │ └── style.qss │ └── dark_orange │ │ ├── img │ │ ├── handle.png │ │ ├── checkbox.png │ │ └── down_arrow.png │ │ ├── style.qrc │ │ └── style.qss └── __init__.py ├── __init__.py ├── .gitignore ├── README.md ├── setup.py └── LICENSE /MANIFEST.in: -------------------------------------------------------------------------------- 1 | include LICENSE 2 | include README.md 3 | recursive-include pyqtcss *.py 4 | recursive-include pyqtcss/src * -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/error.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/critical.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/critical.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/question.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/question.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/warning.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/close.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/error.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/undock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/undock.png -------------------------------------------------------------------------------- /pyqtcss/src/classic/style.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | style.qss 4 | 5 | 6 | -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/critical.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/critical.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/question.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/question.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/sizegrip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/sizegrip.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/up_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/up_arrow.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/warning.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_orange/img/handle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_orange/img/handle.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/branch_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/branch_open.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/close-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/close-hover.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/down_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/down_arrow.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/left_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/left_arrow.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/right_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/right_arrow.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/transparent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/transparent.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_orange/img/checkbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_orange/img/checkbox.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/Hmovetoolbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/Hmovetoolbar.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/Hsepartoolbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/Hsepartoolbar.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/Vmovetoolbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/Vmovetoolbar.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/Vsepartoolbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/Vsepartoolbar.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/branch_closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/branch_closed.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/branch_open-on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/branch_open-on.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/close-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/close-pressed.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/radio_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/radio_checked.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_orange/img/down_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_orange/img/down_arrow.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/branch_closed-on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/branch_closed-on.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/checkbox_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/checkbox_checked.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/radio_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/radio_unchecked.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/stylesheet-vline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/stylesheet-vline.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/checkbox_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/checkbox_unchecked.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/down_arrow_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/down_arrow_disabled.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/left_arrow_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/left_arrow_disabled.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/radio_checked_focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/radio_checked_focus.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/up_arrow_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/up_arrow_disabled.png -------------------------------------------------------------------------------- /__init__.py: -------------------------------------------------------------------------------- 1 | from pyqtcss import available_styles, get_style 2 | 3 | if len(available_styles()) == 0: 4 | from setup import compile_css 5 | compile_css() -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/radio_unchecked_focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/radio_unchecked_focus.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/right_arrow_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/right_arrow_disabled.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/stylesheet-branch-end.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/stylesheet-branch-end.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/checkbox_checked_focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/checkbox_checked_focus.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/checkbox_indeterminate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/checkbox_indeterminate.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/checkbox_unchecked_focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/checkbox_unchecked_focus.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/radio_checked_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/radio_checked_disabled.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/radio_unchecked_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/radio_unchecked_disabled.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/stylesheet-branch-more.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/stylesheet-branch-more.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/checkbox_checked_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/checkbox_checked_disabled.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/checkbox_indeterminate_focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/checkbox_indeterminate_focus.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/checkbox_unchecked_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/checkbox_unchecked_disabled.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/img/checkbox_indeterminate_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sommerc/pyqt-stylesheets/HEAD/pyqtcss/src/dark_blue/img/checkbox_indeterminate_disabled.png -------------------------------------------------------------------------------- /pyqtcss/src/dark_orange/style.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | img/checkbox.png 4 | img/down_arrow.png 5 | img/handle.png 6 | 7 | 8 | style.qss 9 | 10 | 11 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | setup.cfg 2 | setup.cfg.* 3 | .Rhistory 4 | cecog_rc.py 5 | dist 6 | build 7 | Analysis 8 | *.pkl 9 | Release/ 10 | Debug/ 11 | resources/doc/*.* 12 | build.info 13 | resource.py 14 | *.dmg 15 | *_flymake.py 16 | *~ 17 | *.so 18 | *.exe 19 | *.dll 20 | *.pkl 21 | *.orig 22 | *.diff 23 | .project 24 | .pydevproject 25 | .settings 26 | .DS_Store 27 | .RHistory 28 | .RData 29 | .Rhistory 30 | .Rdata 31 | *.o 32 | *.suo 33 | *.sparseimage 34 | *.user 35 | *.nc 36 | *.nc4 37 | *.hdf5 38 | *.hdf 39 | *.hf5 40 | *.ncb 41 | *.h5 42 | 43 | \#.* 44 | .\#.* 45 | *_flymake.py 46 | *.py[codb] 47 | *.mex 48 | *.mexw32 49 | *.mexglx 50 | *.bak 51 | *.obj 52 | .libs 53 | .deps 54 | *#* 55 | *.ilk 56 | *.exp 57 | *.lib 58 | *.dll 59 | *.[do] 60 | *.l[doa] 61 | *.loT 62 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # pyqt-stylesheets 2 | 3 | 4 | 5 | ## Installation 6 | ``` 7 | python setup.py build 8 | python setup.py install 9 | ``` 10 | or 11 | ``` 12 | python setup.py sdist 13 | pip install dist/pyqtcss-1.0.zip 14 | ``` 15 | 16 | ## How to use 17 | 18 | ``` 19 | import pyqtcss 20 | 21 | pyqtcss.available_styles() 22 | ['classic', 'dark_blue', 'dark_orange'] 23 | 24 | style_string = pyqtcss.get_style("dark_blue") 25 | qt_widget.setStyleSheet(style_string) 26 | ``` 27 | 28 | ## Extend 29 | * create new folder in src. The folder name will be the name of the style 30 | * create pyqt resource file `style.qrc` containing `style.qss` and other files such as icon pngs 31 | * create pyqt resource file `style.qss` 32 | 33 | The resource python file will be automatically generated 34 | 35 | ## Dependencies 36 | PyQt5 37 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | import os 2 | import sys 3 | from setuptools import setup 4 | import pyqtcss 5 | 6 | __author__ = 'christoph.sommer@imba.oeaw.ac.at' 7 | 8 | def compile_css(): 9 | print ('Compiling resources...') 10 | css_root_path = os.path.dirname(__file__) 11 | css_src_path = os.path.join(css_root_path, 'pyqtcss/src') 12 | css_dest_poath = os.path.join(css_root_path, 'pyqtcss') 13 | for f in os.listdir(css_src_path): 14 | if os.path.isdir(os.path.join(css_src_path, f)): 15 | if os.path.exists(os.path.join(css_src_path, f, "style.qrc")): 16 | print(" * for PyQt5: pyrcc5 {1}/{0}/style.qrc -o pyqtcss/{0}.py".format(f, css_src_path)) 17 | os.system("pyrcc5 {1}/{0}/style.qrc -o {2}/{0}.py".format(f, css_src_path, css_dest_poath)) 18 | 19 | if __name__ == "__main__": 20 | compile_css() 21 | 22 | setup(name='pyqtcss', 23 | version = pyqtcss.version, 24 | description = 'PyQt5 style sheets', 25 | author = 'Christoph Sommer', 26 | author_email = 'christoph.sommer@imba.oeaw.ac.at', 27 | license = 'BSD', 28 | url = 'https://github.com/sommerc/pyqt-stylesheets', 29 | include_package_data=True, 30 | ) 31 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015, Christoph Sommer 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 5 | 6 | 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 7 | 8 | 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 9 | 10 | 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 11 | 12 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 13 | -------------------------------------------------------------------------------- /pyqtcss/__init__.py: -------------------------------------------------------------------------------- 1 | import os 2 | import traceback 3 | import importlib 4 | import imp 5 | 6 | from PyQt5.QtCore import QFile, QTextStream 7 | 8 | version = 1.0 9 | 10 | def available_styles(): 11 | styles = [] 12 | package_dir = os.path.dirname(os.path.abspath(__file__)) 13 | for style_file in os.listdir(package_dir): 14 | if style_file.endswith(".py") and not style_file.startswith("__"): 15 | style_module = os.path.splitext(style_file)[0] 16 | try: 17 | imp.find_module(style_module, [package_dir]) 18 | is_ok = True 19 | except ImportError: 20 | is_ok = False 21 | if is_ok: 22 | styles.append(style_module) 23 | 24 | return styles 25 | 26 | def get_style(style_sheet): 27 | try: 28 | mod = importlib.import_module("." + style_sheet, __name__) 29 | hasattr(mod, "qt_resource_name") 30 | f = QFile(":/%s/style.qss" % style_sheet) 31 | f.open(QFile.ReadOnly | QFile.Text) 32 | ts = QTextStream(f) 33 | stylesheet = ts.readAll() 34 | except ImportError as e: 35 | print ("Style sheet not available. Use available_styles() to check for valid styles") 36 | return u"" 37 | except Exception as e: 38 | print ("Style sheet available, but an error occured...") 39 | traceback.print_exc() 40 | return u"" 41 | 42 | return stylesheet 43 | 44 | -------------------------------------------------------------------------------- /pyqtcss/src/classic/style.qss: -------------------------------------------------------------------------------- 1 | 2 | QWidget { 3 | font-size: 11px; 4 | } 5 | 6 | QTableView { 7 | font-size: 10px; 8 | alternate-background-color: #EEEEFF; 9 | } 10 | 11 | Browser QPushButton { 12 | font-size: 10px; 13 | min-width: 10px; 14 | } 15 | 16 | ColorButton::enabled { 17 | border: 1px solid #444444; 18 | } 19 | 20 | ColorButton::disabled { 21 | border: 1px solid #AAAAAA; 22 | } 23 | 24 | 25 | Browser QGroupBox { 26 | background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, 27 | stop: 0 #E0E0E0, stop: 1 #FFFFFF); 28 | border: 2px solid #999999; 29 | border-radius: 5px; 30 | margin-top: 1ex; /* leave space at the top for the title */ 31 | font-size: 13px; 32 | color: black; 33 | } 34 | 35 | Browser QGroupBox::title { 36 | subcontrol-origin: margin; 37 | subcontrol-position: top center; /* position at the top center */ 38 | padding: 0 3px; 39 | font-size: 13px; 40 | color: black; 41 | } 42 | 43 | PluginItem { 44 | border: 2px solid black; 45 | background: white; 46 | } 47 | 48 | 49 | PluginItem Frame { 50 | background: #CCCCCC; 51 | } 52 | 53 | 54 | TabButton { 55 | border: 1px solid #8f8f91; 56 | border-radius: 2px; 57 | padding: 3px; 58 | min-width: 120px; 59 | } 60 | 61 | TabButton::checked { 62 | background-color: qlineargradient(x1: 0, y1: 0 , x2: 0, y2: 1, 63 | stop: 0 #9a9b9e, stop: 1 #babbbe); 64 | } 65 | 66 | 67 | TabButton::pressed { 68 | background-color: qlineargradient(x1: 0, y1: 0 , x2: 0, y2: 1, 69 | stop: 0 #9a9b9e, stop: 1 #babbbe); 70 | } 71 | -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/style.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | img/up_arrow_disabled.png 4 | img/Hmovetoolbar.png 5 | img/stylesheet-branch-end.png 6 | img/branch_closed-on.png 7 | img/stylesheet-vline.png 8 | img/branch_closed.png 9 | img/branch_open-on.png 10 | img/transparent.png 11 | img/right_arrow_disabled.png 12 | img/sizegrip.png 13 | img/close.png 14 | img/close-hover.png 15 | img/close-pressed.png 16 | img/down_arrow.png 17 | img/Vmovetoolbar.png 18 | img/left_arrow.png 19 | img/stylesheet-branch-more.png 20 | img/up_arrow.png 21 | img/right_arrow.png 22 | img/left_arrow_disabled.png 23 | img/Hsepartoolbar.png 24 | img/branch_open.png 25 | img/Vsepartoolbar.png 26 | img/down_arrow_disabled.png 27 | img/undock.png 28 | img/checkbox_checked_disabled.png 29 | img/checkbox_checked_focus.png 30 | img/checkbox_checked.png 31 | img/checkbox_indeterminate.png 32 | img/checkbox_indeterminate_focus.png 33 | img/checkbox_unchecked_disabled.png 34 | img/checkbox_unchecked_focus.png 35 | img/checkbox_unchecked.png 36 | img/radio_checked_disabled.png 37 | img/radio_checked_focus.png 38 | img/radio_checked.png 39 | img/radio_unchecked_disabled.png 40 | img/radio_unchecked_focus.png 41 | img/radio_unchecked.png 42 | 43 | img/question.png 44 | img/warning.png 45 | img/error.png 46 | img/critical.png 47 | 48 | 49 | style.qss 50 | 51 | 52 | -------------------------------------------------------------------------------- /pyqtcss/src/dark_orange/style.qss: -------------------------------------------------------------------------------- 1 | QToolTip 2 | { 3 | border: 1px solid black; 4 | background-color: #ffa02f; 5 | padding: 1px; 6 | border-radius: 3px; 7 | opacity: 100; 8 | } 9 | 10 | QWidget 11 | { 12 | color: #b1b1b1; 13 | background-color: #323232; 14 | } 15 | 16 | QTreeView, QListView 17 | { 18 | background-color: silver; 19 | margin-left: 5px; 20 | } 21 | 22 | QWidget:item:hover 23 | { 24 | background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #ffa02f, stop: 1 #ca0619); 25 | color: #000000; 26 | } 27 | 28 | QWidget:item:selected 29 | { 30 | background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #ffa02f, stop: 1 #d7801a); 31 | } 32 | 33 | QMenuBar::item 34 | { 35 | background: transparent; 36 | } 37 | 38 | QMenuBar::item:selected 39 | { 40 | background: transparent; 41 | border: 1px solid #ffaa00; 42 | } 43 | 44 | QMenuBar::item:pressed 45 | { 46 | background: #444; 47 | border: 1px solid #000; 48 | background-color: QLinearGradient( 49 | x1:0, y1:0, 50 | x2:0, y2:1, 51 | stop:1 #212121, 52 | stop:0.4 #343434/*, 53 | stop:0.2 #343434, 54 | stop:0.1 #ffaa00*/ 55 | ); 56 | margin-bottom:-1px; 57 | padding-bottom:1px; 58 | } 59 | 60 | QMenu 61 | { 62 | border: 1px solid #000; 63 | } 64 | 65 | QMenu::item 66 | { 67 | padding: 2px 20px 2px 20px; 68 | } 69 | 70 | QMenu::item:selected 71 | { 72 | color: #000000; 73 | } 74 | 75 | QWidget:disabled 76 | { 77 | color: #808080; 78 | background-color: #323232; 79 | } 80 | 81 | QAbstractItemView 82 | { 83 | background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #4d4d4d, stop: 0.1 #646464, stop: 1 #5d5d5d); 84 | } 85 | 86 | QWidget:focus 87 | { 88 | /*border: 1px solid darkgray;*/ 89 | } 90 | 91 | QLineEdit 92 | { 93 | background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #4d4d4d, stop: 0 #646464, stop: 1 #5d5d5d); 94 | padding: 1px; 95 | border-style: solid; 96 | border: 1px solid #1e1e1e; 97 | border-radius: 5; 98 | } 99 | 100 | QPushButton 101 | { 102 | color: #b1b1b1; 103 | background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #565656, stop: 0.1 #525252, stop: 0.5 #4e4e4e, stop: 0.9 #4a4a4a, stop: 1 #464646); 104 | border-width: 1px; 105 | border-color: #1e1e1e; 106 | border-style: solid; 107 | border-radius: 6; 108 | padding: 3px; 109 | font-size: 12px; 110 | padding-left: 5px; 111 | padding-right: 5px; 112 | min-width: 40px; 113 | } 114 | 115 | QPushButton:pressed 116 | { 117 | background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #2d2d2d, stop: 0.1 #2b2b2b, stop: 0.5 #292929, stop: 0.9 #282828, stop: 1 #252525); 118 | } 119 | 120 | QComboBox 121 | { 122 | selection-background-color: #ffaa00; 123 | background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #565656, stop: 0.1 #525252, stop: 0.5 #4e4e4e, stop: 0.9 #4a4a4a, stop: 1 #464646); 124 | border-style: solid; 125 | border: 1px solid #1e1e1e; 126 | border-radius: 5; 127 | } 128 | 129 | QComboBox:hover,QPushButton:hover 130 | { 131 | border: 2px solid QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #ffa02f, stop: 1 #d7801a); 132 | } 133 | 134 | 135 | QComboBox:on 136 | { 137 | padding-top: 3px; 138 | padding-left: 4px; 139 | background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #2d2d2d, stop: 0.1 #2b2b2b, stop: 0.5 #292929, stop: 0.9 #282828, stop: 1 #252525); 140 | selection-background-color: #ffaa00; 141 | } 142 | 143 | QComboBox QAbstractItemView 144 | { 145 | border: 2px solid darkgray; 146 | selection-background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #ffa02f, stop: 1 #d7801a); 147 | } 148 | 149 | QComboBox::drop-down 150 | { 151 | subcontrol-origin: padding; 152 | subcontrol-position: top right; 153 | width: 15px; 154 | 155 | border-left-width: 0px; 156 | border-left-color: darkgray; 157 | border-left-style: solid; /* just a single line */ 158 | border-top-right-radius: 3px; /* same radius as the QComboBox */ 159 | border-bottom-right-radius: 3px; 160 | } 161 | 162 | QComboBox::down-arrow 163 | { 164 | image: url(:/dark_orange/img/down_arrow.png); 165 | } 166 | 167 | QGroupBox 168 | { 169 | border: 1px solid darkgray; 170 | margin-top: 10px; 171 | } 172 | 173 | QGroupBox:focus 174 | { 175 | border: 1px solid darkgray; 176 | } 177 | 178 | QTextEdit:focus 179 | { 180 | border: 1px solid darkgray; 181 | } 182 | 183 | QScrollBar:horizontal { 184 | border: 1px solid #222222; 185 | background: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0.0 #121212, stop: 0.2 #282828, stop: 1 #484848); 186 | height: 7px; 187 | margin: 0px 16px 0 16px; 188 | } 189 | 190 | QScrollBar::handle:horizontal 191 | { 192 | background: QLinearGradient( x1: 0, y1: 0, x2: 1, y2: 0, stop: 0 #ffa02f, stop: 0.5 #d7801a, stop: 1 #ffa02f); 193 | min-height: 20px; 194 | border-radius: 2px; 195 | } 196 | 197 | QScrollBar::add-line:horizontal { 198 | border: 1px solid #1b1b19; 199 | border-radius: 2px; 200 | background: QLinearGradient( x1: 0, y1: 0, x2: 1, y2: 0, stop: 0 #ffa02f, stop: 1 #d7801a); 201 | width: 14px; 202 | subcontrol-position: right; 203 | subcontrol-origin: margin; 204 | } 205 | 206 | QScrollBar::sub-line:horizontal { 207 | border: 1px solid #1b1b19; 208 | border-radius: 2px; 209 | background: QLinearGradient( x1: 0, y1: 0, x2: 1, y2: 0, stop: 0 #ffa02f, stop: 1 #d7801a); 210 | width: 14px; 211 | subcontrol-position: left; 212 | subcontrol-origin: margin; 213 | } 214 | 215 | QScrollBar::right-arrow:horizontal, QScrollBar::left-arrow:horizontal 216 | { 217 | border: 1px solid black; 218 | width: 1px; 219 | height: 1px; 220 | background: white; 221 | } 222 | 223 | QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal 224 | { 225 | background: none; 226 | } 227 | 228 | QScrollBar:vertical 229 | { 230 | background: QLinearGradient( x1: 0, y1: 0, x2: 1, y2: 0, stop: 0.0 #121212, stop: 0.2 #282828, stop: 1 #484848); 231 | width: 7px; 232 | margin: 16px 0 16px 0; 233 | border: 1px solid #222222; 234 | } 235 | 236 | QScrollBar::handle:vertical 237 | { 238 | background: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #ffa02f, stop: 0.5 #d7801a, stop: 1 #ffa02f); 239 | min-height: 20px; 240 | border-radius: 2px; 241 | } 242 | 243 | QScrollBar::add-line:vertical 244 | { 245 | border: 1px solid #1b1b19; 246 | border-radius: 2px; 247 | background: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #ffa02f, stop: 1 #d7801a); 248 | height: 14px; 249 | subcontrol-position: bottom; 250 | subcontrol-origin: margin; 251 | } 252 | 253 | QScrollBar::sub-line:vertical 254 | { 255 | border: 1px solid #1b1b19; 256 | border-radius: 2px; 257 | background: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #d7801a, stop: 1 #ffa02f); 258 | height: 14px; 259 | subcontrol-position: top; 260 | subcontrol-origin: margin; 261 | } 262 | 263 | QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical 264 | { 265 | border: 1px solid black; 266 | width: 1px; 267 | height: 1px; 268 | background: white; 269 | } 270 | 271 | 272 | QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical 273 | { 274 | background: none; 275 | } 276 | 277 | QTextEdit 278 | { 279 | background-color: #242424; 280 | } 281 | 282 | QPlainTextEdit 283 | { 284 | background-color: #242424; 285 | } 286 | 287 | QHeaderView::section 288 | { 289 | background-color: QLinearGradient(x1:0, y1:0, x2:0, y2:1, stop:0 #616161, stop: 0.5 #505050, stop: 0.6 #434343, stop:1 #656565); 290 | color: white; 291 | padding-left: 4px; 292 | border: 1px solid #6c6c6c; 293 | } 294 | 295 | QCheckBox:disabled 296 | { 297 | color: #414141; 298 | } 299 | 300 | QDockWidget::title 301 | { 302 | text-align: center; 303 | spacing: 3px; /* spacing between items in the tool bar */ 304 | background-color: QLinearGradient(x1:0, y1:0, x2:0, y2:1, stop:0 #323232, stop: 0.5 #242424, stop:1 #323232); 305 | } 306 | 307 | QDockWidget::close-button, QDockWidget::float-button 308 | { 309 | text-align: center; 310 | spacing: 1px; /* spacing between items in the tool bar */ 311 | background-color: QLinearGradient(x1:0, y1:0, x2:0, y2:1, stop:0 #323232, stop: 0.5 #242424, stop:1 #323232); 312 | } 313 | 314 | QDockWidget::close-button:hover, QDockWidget::float-button:hover 315 | { 316 | background: #242424; 317 | } 318 | 319 | QDockWidget::close-button:pressed, QDockWidget::float-button:pressed 320 | { 321 | padding: 1px -1px -1px 1px; 322 | } 323 | 324 | QMainWindow::separator 325 | { 326 | background-color: QLinearGradient(x1:0, y1:0, x2:0, y2:1, stop:0 #161616, stop: 0.5 #151515, stop: 0.6 #212121, stop:1 #343434); 327 | color: white; 328 | padding-left: 4px; 329 | border: 1px solid #4c4c4c; 330 | spacing: 3px; /* spacing between items in the tool bar */ 331 | } 332 | 333 | QMainWindow::separator:hover 334 | { 335 | 336 | background-color: QLinearGradient(x1:0, y1:0, x2:0, y2:1, stop:0 #d7801a, stop:0.5 #b56c17 stop:1 #ffa02f); 337 | color: white; 338 | padding-left: 4px; 339 | border: 1px solid #6c6c6c; 340 | spacing: 3px; /* spacing between items in the tool bar */ 341 | } 342 | 343 | QToolBar::handle 344 | { 345 | spacing: 3px; /* spacing between items in the tool bar */ 346 | background: url(:/dark_orange/img/handle.png); 347 | } 348 | 349 | QMenu::separator 350 | { 351 | height: 2px; 352 | background-color: QLinearGradient(x1:0, y1:0, x2:0, y2:1, stop:0 #161616, stop: 0.5 #151515, stop: 0.6 #212121, stop:1 #343434); 353 | color: white; 354 | padding-left: 4px; 355 | margin-left: 10px; 356 | margin-right: 5px; 357 | } 358 | 359 | QProgressBar 360 | { 361 | border: 2px solid grey; 362 | border-radius: 5px; 363 | text-align: center; 364 | } 365 | 366 | QProgressBar::chunk 367 | { 368 | background-color: #d7801a; 369 | width: 2.15px; 370 | margin: 0.5px; 371 | } 372 | 373 | QTabBar::tab { 374 | color: #b1b1b1; 375 | border: 1px solid #444; 376 | border-bottom-style: none; 377 | background-color: #323232; 378 | padding-left: 10px; 379 | padding-right: 10px; 380 | padding-top: 3px; 381 | padding-bottom: 2px; 382 | margin-right: -1px; 383 | } 384 | 385 | QTabWidget::pane { 386 | border: 1px solid #444; 387 | top: 1px; 388 | } 389 | 390 | QTabBar::tab:last 391 | { 392 | margin-right: 0; /* the last selected tab has nothing to overlap with on the right */ 393 | border-top-right-radius: 3px; 394 | } 395 | 396 | QTabBar::tab:first:!selected 397 | { 398 | margin-left: 0px; /* the last selected tab has nothing to overlap with on the right */ 399 | 400 | 401 | border-top-left-radius: 3px; 402 | } 403 | 404 | QTabBar::tab:!selected 405 | { 406 | color: #b1b1b1; 407 | border-bottom-style: solid; 408 | margin-top: 3px; 409 | background-color: QLinearGradient(x1:0, y1:0, x2:0, y2:1, stop:1 #212121, stop:.4 #343434); 410 | } 411 | 412 | QTabBar::tab:selected 413 | { 414 | border-top-left-radius: 3px; 415 | border-top-right-radius: 3px; 416 | margin-bottom: 0px; 417 | } 418 | 419 | QTabBar::tab:!selected:hover 420 | { 421 | /*border-top: 2px solid #ffaa00; 422 | padding-bottom: 3px;*/ 423 | border-top-left-radius: 3px; 424 | border-top-right-radius: 3px; 425 | background-color: QLinearGradient(x1:0, y1:0, x2:0, y2:1, stop:1 #212121, stop:0.4 #343434, stop:0.2 #343434, stop:0.1 #ffaa00); 426 | } 427 | 428 | QRadioButton::indicator:checked, QRadioButton::indicator:unchecked{ 429 | color: #b1b1b1; 430 | background-color: #323232; 431 | border: 1px solid #b1b1b1; 432 | border-radius: 6px; 433 | } 434 | 435 | QRadioButton::indicator:checked 436 | { 437 | background-color: qradialgradient( 438 | cx: 0.5, cy: 0.5, 439 | fx: 0.5, fy: 0.5, 440 | radius: 1.0, 441 | stop: 0.25 #ffaa00, 442 | stop: 0.3 #323232 443 | ); 444 | } 445 | 446 | QCheckBox::indicator{ 447 | color: #b1b1b1; 448 | background-color: #323232; 449 | border: 1px solid #b1b1b1; 450 | width: 9px; 451 | height: 9px; 452 | } 453 | 454 | QRadioButton::indicator 455 | { 456 | border-radius: 6px; 457 | } 458 | 459 | QRadioButton::indicator:hover, QCheckBox::indicator:hover 460 | { 461 | border: 1px solid #ffaa00; 462 | } 463 | 464 | QCheckBox::indicator:checked 465 | { 466 | image:url(:/dark_orange/img/checkbox.png); 467 | } 468 | 469 | QCheckBox::indicator:disabled, QRadioButton::indicator:disabled 470 | { 471 | border: 1px solid #444; 472 | } 473 | 474 | 475 | QSlider::groove:horizontal { 476 | border: 1px solid #3A3939; 477 | height: 8px; 478 | background: #201F1F; 479 | margin: 2px 0; 480 | border-radius: 2px; 481 | } 482 | 483 | QSlider::handle:horizontal { 484 | background: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, 485 | stop: 0.0 silver, stop: 0.2 #a8a8a8, stop: 1 #727272); 486 | border: 1px solid #3A3939; 487 | width: 14px; 488 | height: 14px; 489 | margin: -4px 0; 490 | border-radius: 2px; 491 | } 492 | 493 | QSlider::groove:vertical { 494 | border: 1px solid #3A3939; 495 | width: 8px; 496 | background: #201F1F; 497 | margin: 0 0px; 498 | border-radius: 2px; 499 | } 500 | 501 | QSlider::handle:vertical { 502 | background: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0.0 silver, 503 | stop: 0.2 #a8a8a8, stop: 1 #727272); 504 | border: 1px solid #3A3939; 505 | width: 14px; 506 | height: 14px; 507 | margin: 0 -4px; 508 | border-radius: 2px; 509 | } 510 | 511 | QAbstractSpinBox { 512 | padding-top: 2px; 513 | padding-bottom: 2px; 514 | border: 1px solid darkgray; 515 | 516 | border-radius: 2px; 517 | min-width: 50px; 518 | } 519 | 520 | 521 | -------------------------------------------------------------------------------- /pyqtcss/src/dark_blue/style.qss: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) <2013-2014> 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | */ 24 | 25 | QProgressBar:horizontal { 26 | border: 1px solid #3A3939; 27 | text-align: center; 28 | padding: 1px; 29 | background: #201F1F; 30 | } 31 | QProgressBar::chunk:horizontal { 32 | background-color: qlineargradient(spread:reflect, x1:1, y1:0.545, x2:1, y2:0, stop:0 rgba(28, 66, 111, 255), stop:1 rgba(37, 87, 146, 255)); 33 | } 34 | 35 | QToolTip 36 | { 37 | border: 1px solid #3A3939; 38 | background-color: rgb(90, 102, 117);; 39 | color: white; 40 | padding: 1px; 41 | opacity: 200; 42 | } 43 | 44 | QWidget 45 | { 46 | color: silver; 47 | background-color: #302F2F; 48 | selection-background-color:#3d8ec9; 49 | selection-color: black; 50 | background-clip: border; 51 | border-image: none; 52 | outline: 0; 53 | } 54 | 55 | QWidget:item:hover 56 | { 57 | background-color: #78879b; 58 | color: black; 59 | } 60 | 61 | QWidget:item:selected 62 | { 63 | background-color: #3d8ec9; 64 | } 65 | 66 | QCheckBox 67 | { 68 | spacing: 5px; 69 | outline: none; 70 | color: #bbb; 71 | margin-bottom: 2px; 72 | } 73 | 74 | QCheckBox:disabled 75 | { 76 | color: #777777; 77 | } 78 | QCheckBox::indicator, 79 | QGroupBox::indicator 80 | { 81 | width: 18px; 82 | height: 18px; 83 | } 84 | QGroupBox::indicator 85 | { 86 | margin-left: 2px; 87 | } 88 | 89 | QCheckBox::indicator:unchecked, 90 | QCheckBox::indicator:unchecked:hover, 91 | QGroupBox::indicator:unchecked, 92 | QGroupBox::indicator:unchecked:hover 93 | { 94 | image: url(:/dark_blue/img/checkbox_unchecked.png); 95 | } 96 | 97 | QCheckBox::indicator:unchecked:focus, 98 | QCheckBox::indicator:unchecked:pressed, 99 | QGroupBox::indicator:unchecked:focus, 100 | QGroupBox::indicator:unchecked:pressed 101 | { 102 | border: none; 103 | image: url(:/dark_blue/img/checkbox_unchecked_focus.png); 104 | } 105 | 106 | QCheckBox::indicator:checked, 107 | QCheckBox::indicator:checked:hover, 108 | QGroupBox::indicator:checked, 109 | QGroupBox::indicator:checked:hover 110 | { 111 | image: url(:/dark_blue/img/checkbox_checked.png); 112 | } 113 | 114 | QCheckBox::indicator:checked:focus, 115 | QCheckBox::indicator:checked:pressed, 116 | QGroupBox::indicator:checked:focus, 117 | QGroupBox::indicator:checked:pressed 118 | { 119 | border: none; 120 | image: url(:/dark_blue/img/checkbox_checked_focus.png); 121 | } 122 | 123 | QCheckBox::indicator:indeterminate, 124 | QCheckBox::indicator:indeterminate:hover, 125 | QCheckBox::indicator:indeterminate:pressed 126 | QGroupBox::indicator:indeterminate, 127 | QGroupBox::indicator:indeterminate:hover, 128 | QGroupBox::indicator:indeterminate:pressed 129 | { 130 | image: url(:/dark_blue/img/checkbox_indeterminate.png); 131 | } 132 | 133 | QCheckBox::indicator:indeterminate:focus, 134 | QGroupBox::indicator:indeterminate:focus 135 | { 136 | image: url(:/dark_blue/img/checkbox_indeterminate_focus.png); 137 | } 138 | 139 | QCheckBox::indicator:checked:disabled, 140 | QGroupBox::indicator:checked:disabled 141 | { 142 | image: url(:/dark_blue/img/checkbox_checked_disabled.png); 143 | } 144 | 145 | QCheckBox::indicator:unchecked:disabled, 146 | QGroupBox::indicator:unchecked:disabled 147 | { 148 | image: url(:/dark_blue/img/checkbox_unchecked_disabled.png); 149 | } 150 | 151 | QRadioButton 152 | { 153 | spacing: 5px; 154 | outline: none; 155 | color: #bbb; 156 | margin-bottom: 2px; 157 | } 158 | 159 | QRadioButton:disabled 160 | { 161 | color: #777777; 162 | } 163 | QRadioButton::indicator 164 | { 165 | width: 21px; 166 | height: 21px; 167 | } 168 | 169 | QRadioButton::indicator:unchecked, 170 | QRadioButton::indicator:unchecked:hover 171 | { 172 | image: url(:/dark_blue/img/radio_unchecked.png); 173 | } 174 | 175 | QRadioButton::indicator:unchecked:focus, 176 | QRadioButton::indicator:unchecked:pressed 177 | { 178 | border: none; 179 | outline: none; 180 | image: url(:/dark_blue/img/radio_unchecked_focus.png); 181 | } 182 | 183 | QRadioButton::indicator:checked, 184 | QRadioButton::indicator:checked:hover 185 | { 186 | border: none; 187 | outline: none; 188 | image: url(:/dark_blue/img/radio_checked.png); 189 | } 190 | 191 | QRadioButton::indicator:checked:focus, 192 | QRadioButton::indicato::menu-arrowr:checked:pressed 193 | { 194 | border: none; 195 | outline: none; 196 | image: url(:/dark_blue/img/radio_checked_focus.png); 197 | } 198 | 199 | QRadioButton::indicator:indeterminate, 200 | QRadioButton::indicator:indeterminate:hover, 201 | QRadioButton::indicator:indeterminate:pressed 202 | { 203 | image: url(:/dark_blue/img/radio_indeterminate.png); 204 | } 205 | 206 | QRadioButton::indicator:checked:disabled 207 | { 208 | outline: none; 209 | image: url(:/dark_blue/img/radio_checked_disabled.png); 210 | } 211 | 212 | QRadioButton::indicator:unchecked:disabled 213 | { 214 | image: url(:/dark_blue/img/radio_unchecked_disabled.png); 215 | } 216 | 217 | 218 | QMenuBar 219 | { 220 | background-color: #302F2F; 221 | color: silver; 222 | } 223 | 224 | QMenuBar::item 225 | { 226 | background: transparent; 227 | } 228 | 229 | QMenuBar::item:selected 230 | { 231 | background: transparent; 232 | border: 1px solid #3A3939; 233 | } 234 | 235 | QMenuBar::item:pressed 236 | { 237 | border: 1px solid #3A3939; 238 | background-color: #3d8ec9; 239 | color: black; 240 | margin-bottom:-1px; 241 | padding-bottom:1px; 242 | } 243 | 244 | QMenu 245 | { 246 | border: 1px solid #3A3939; 247 | color: silver; 248 | margin: 1px; 249 | } 250 | 251 | QMenu::icon 252 | { 253 | margin: 1px; 254 | } 255 | 256 | QMenu::item 257 | { 258 | padding: 2px 2px 2px 25px; 259 | margin-left: 5px; 260 | border: 1px solid transparent; /* reserve space for selection border */ 261 | } 262 | 263 | QMenu::item:selected 264 | { 265 | color: black; 266 | } 267 | 268 | QMenu::separator { 269 | height: 2px; 270 | background: lightblue; 271 | margin-left: 10px; 272 | margin-right: 5px; 273 | } 274 | 275 | QMenu::indicator { 276 | width: 16px; 277 | height: 16px; 278 | } 279 | 280 | /* non-exclusive indicator = check box style indicator 281 | (see QActionGroup::setExclusive) */ 282 | QMenu::indicator:non-exclusive:unchecked { 283 | image: url(:/dark_blue/img/checkbox_unchecked.png); 284 | } 285 | 286 | QMenu::indicator:non-exclusive:unchecked:selected { 287 | image: url(:/dark_blue/img/checkbox_unchecked_disabled.png); 288 | } 289 | 290 | QMenu::indicator:non-exclusive:checked { 291 | image: url(:/dark_blue/img/checkbox_checked.png); 292 | } 293 | 294 | QMenu::indicator:non-exclusive:checked:selected { 295 | image: url(:/dark_blue/img/checkbox_checked_disabled.png); 296 | } 297 | 298 | /* exclusive indicator = radio button style indicator (see QActionGroup::setExclusive) */ 299 | QMenu::indicator:exclusive:unchecked { 300 | image: url(:/dark_blue/img/radio_unchecked.png); 301 | } 302 | 303 | QMenu::indicator:exclusive:unchecked:selected { 304 | image: url(:/dark_blue/img/radio_unchecked_disabled.png); 305 | } 306 | 307 | QMenu::indicator:exclusive:checked { 308 | image: url(:/dark_blue/img/radio_checked.png); 309 | } 310 | 311 | QMenu::indicator:exclusive:checked:selected { 312 | image: url(:/dark_blue/img/radio_checked_disabled.png); 313 | } 314 | 315 | QMenu::right-arrow { 316 | margin: 5px; 317 | image: url(:/dark_blue/img/right_arrow.png) 318 | } 319 | 320 | 321 | QWidget:disabled 322 | { 323 | color: #808080; 324 | background-color: #302F2F; 325 | } 326 | 327 | QAbstractItemView 328 | { 329 | alternate-background-color: #3A3939; 330 | color: silver; 331 | border: 1px solid 3A3939; 332 | border-radius: 2px; 333 | padding: 1px; 334 | } 335 | 336 | QWidget:focus, QMenuBar:focus 337 | { 338 | border: 1px solid #78879b; 339 | } 340 | 341 | QTabWidget:focus, QCheckBox:focus, QRadioButton:focus, QSlider:focus 342 | { 343 | border: none; 344 | } 345 | 346 | QLineEdit 347 | { 348 | background-color: #201F1F; 349 | padding: 2px; 350 | border-style: solid; 351 | border: 1px solid #3A3939; 352 | border-radius: 2px; 353 | color: silver; 354 | } 355 | 356 | QGroupBox { 357 | border:1px solid #3A3939; 358 | border-radius: 2px; 359 | margin-top: 20px; 360 | background-color: #302F2F; 361 | color: silver; 362 | } 363 | 364 | QGroupBox::title { 365 | subcontrol-origin: margin; 366 | subcontrol-position: top center; 367 | padding-left: 10px; 368 | padding-right: 10px; 369 | padding-top: 10px; 370 | } 371 | 372 | QAbstractScrollArea 373 | { 374 | border-radius: 2px; 375 | border: 1px solid #3A3939; 376 | background-color: transparent; 377 | } 378 | 379 | QScrollBar:horizontal 380 | { 381 | height: 15px; 382 | margin: 3px 15px 3px 15px; 383 | border: 1px transparent #2A2929; 384 | border-radius: 4px; 385 | background-color: #2A2929; 386 | } 387 | 388 | QScrollBar::handle:horizontal 389 | { 390 | background-color: #605F5F; 391 | min-width: 5px; 392 | border-radius: 4px; 393 | } 394 | 395 | QScrollBar::add-line:horizontal 396 | { 397 | margin: 0px 3px 0px 3px; 398 | border-image: url(:/dark_blue/img/right_arrow_disabled.png); 399 | width: 10px; 400 | height: 10px; 401 | subcontrol-position: right; 402 | subcontrol-origin: margin; 403 | } 404 | 405 | QScrollBar::sub-line:horizontal 406 | { 407 | margin: 0px 3px 0px 3px; 408 | border-image: url(:/dark_blue/img/left_arrow_disabled.png); 409 | height: 10px; 410 | width: 10px; 411 | subcontrol-position: left; 412 | subcontrol-origin: margin; 413 | } 414 | 415 | QScrollBar::add-line:horizontal:hover,QScrollBar::add-line:horizontal:on 416 | { 417 | border-image: url(:/dark_blue/img/right_arrow.png); 418 | height: 10px; 419 | width: 10px; 420 | subcontrol-position: right; 421 | subcontrol-origin: margin; 422 | } 423 | 424 | 425 | QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on 426 | { 427 | border-image: url(:/dark_blue/img/left_arrow.png); 428 | height: 10px; 429 | width: 10px; 430 | subcontrol-position: left; 431 | subcontrol-origin: margin; 432 | } 433 | 434 | QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal 435 | { 436 | background: none; 437 | } 438 | 439 | 440 | QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal 441 | { 442 | background: none; 443 | } 444 | 445 | QScrollBar:vertical 446 | { 447 | background-color: #2A2929; 448 | width: 15px; 449 | margin: 15px 3px 15px 3px; 450 | border: 1px transparent #2A2929; 451 | border-radius: 4px; 452 | } 453 | 454 | QScrollBar::handle:vertical 455 | { 456 | background-color: #605F5F; 457 | min-height: 5px; 458 | border-radius: 4px; 459 | } 460 | 461 | QScrollBar::sub-line:vertical 462 | { 463 | margin: 3px 0px 3px 0px; 464 | border-image: url(:/dark_blue/img/up_arrow_disabled.png); 465 | height: 10px; 466 | width: 10px; 467 | subcontrol-position: top; 468 | subcontrol-origin: margin; 469 | } 470 | 471 | QScrollBar::add-line:vertical 472 | { 473 | margin: 3px 0px 3px 0px; 474 | border-image: url(:/dark_blue/img/down_arrow_disabled.png); 475 | height: 10px; 476 | width: 10px; 477 | subcontrol-position: bottom; 478 | subcontrol-origin: margin; 479 | } 480 | 481 | QScrollBar::sub-line:vertical:hover,QScrollBar::sub-line:vertical:on 482 | { 483 | 484 | border-image: url(:/dark_blue/img/up_arrow.png); 485 | height: 10px; 486 | width: 10px; 487 | subcontrol-position: top; 488 | subcontrol-origin: margin; 489 | } 490 | 491 | 492 | QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on 493 | { 494 | border-image: url(:/dark_blue/img/down_arrow.png); 495 | height: 10px; 496 | width: 10px; 497 | subcontrol-position: bottom; 498 | subcontrol-origin: margin; 499 | } 500 | 501 | QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical 502 | { 503 | background: none; 504 | } 505 | 506 | 507 | QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical 508 | { 509 | background: none; 510 | } 511 | 512 | QTextEdit 513 | { 514 | background-color: #201F1F; 515 | color: silver; 516 | border: 1px solid #3A3939; 517 | } 518 | 519 | QPlainTextEdit 520 | { 521 | background-color: #201F1F;; 522 | color: silver; 523 | border-radius: 2px; 524 | border: 1px solid #3A3939; 525 | } 526 | 527 | QHeaderView::section 528 | { 529 | background-color: #3A3939; 530 | color: silver; 531 | padding-left: 4px; 532 | border: 1px solid #6c6c6c; 533 | } 534 | 535 | QSizeGrip { 536 | image: url(:/dark_blue/img/sizegrip.png); 537 | width: 12px; 538 | height: 12px; 539 | } 540 | 541 | QMainWindow 542 | { 543 | background-color: #302F2F; 544 | 545 | } 546 | 547 | QMainWindow::separator 548 | { 549 | background-color: #302F2F; 550 | color: white; 551 | padding-left: 4px; 552 | spacing: 2px; 553 | border: 1px dashed #3A3939; 554 | } 555 | 556 | QMainWindow::separator:hover 557 | { 558 | 559 | background-color: #787876; 560 | color: white; 561 | padding-left: 4px; 562 | border: 1px solid #3A3939; 563 | spacing: 2px; 564 | } 565 | 566 | 567 | QMenu::separator 568 | { 569 | height: 1px; 570 | background-color: #3A3939; 571 | color: white; 572 | padding-left: 4px; 573 | margin-left: 10px; 574 | margin-right: 5px; 575 | } 576 | 577 | 578 | QFrame 579 | { 580 | border-radius: 2px; 581 | border: 1px solid #444; 582 | } 583 | 584 | QFrame[frameShape="0"] 585 | { 586 | border-radius: 2px; 587 | border: 1px transparent #444; 588 | } 589 | 590 | QStackedWidget 591 | { 592 | background-color: #302F2F; 593 | border: 1px transparent black; 594 | } 595 | 596 | QToolBar { 597 | border: 1px transparent #393838; 598 | background: 1px solid #302F2F; 599 | font-weight: bold; 600 | } 601 | 602 | QToolBar::handle:horizontal { 603 | image: url(:/dark_blue/img/Hmovetoolbar.png); 604 | } 605 | QToolBar::handle:vertical { 606 | image: url(:/dark_blue/img/Vmovetoolbar.png); 607 | } 608 | QToolBar::separator:horizontal { 609 | image: url(:/dark_blue/img/Hsepartoolbar.png); 610 | } 611 | QToolBar::separator:vertical { 612 | image: url(:/dark_blue/img/Vsepartoolbars.png); 613 | } 614 | 615 | QPushButton 616 | { 617 | color: silver; 618 | background-color: #302F2F; 619 | border-width: 2px; 620 | border-color: #4A4949; 621 | border-style: solid; 622 | padding-top: 2px; 623 | padding-bottom: 2px; 624 | padding-left: 10px; 625 | padding-right: 10px; 626 | border-radius: 4px; 627 | /* outline: none; */ 628 | /* min-width: 40px; */ 629 | } 630 | 631 | QPushButton:disabled 632 | { 633 | background-color: #302F2F; 634 | border-width: 2px; 635 | border-color: #3A3939; 636 | border-style: solid; 637 | padding-top: 2px; 638 | padding-bottom: 2px; 639 | padding-left: 10px; 640 | padding-right: 10px; 641 | /*border-radius: 2px;*/ 642 | color: #808080; 643 | } 644 | 645 | QPushButton:focus { 646 | background-color: #3d8ec9; 647 | color: white; 648 | } 649 | 650 | QComboBox 651 | { 652 | selection-background-color: #3d8ec9; 653 | background-color: #201F1F; 654 | border-style: solid; 655 | border: 1px solid #3A3939; 656 | border-radius: 2px; 657 | padding: 2px; 658 | min-width: 75px; 659 | } 660 | 661 | QPushButton:checked{ 662 | background-color: #4A4949; 663 | border-color: #6A6969; 664 | } 665 | 666 | QPushButton:hover { 667 | border: 2px solid #78879b; 668 | color: silver; 669 | } 670 | 671 | QComboBox:hover, QAbstractSpinBox:hover,QLineEdit:hover,QTextEdit:hover,QPlainTextEdit:hover,QAbstractView:hover,QTreeView:hover 672 | { 673 | border: 1px solid #78879b; 674 | color: silver; 675 | } 676 | 677 | QComboBox:on 678 | { 679 | background-color: #626873; 680 | padding-top: 3px; 681 | padding-left: 4px; 682 | selection-background-color: #4a4a4a; 683 | } 684 | 685 | QComboBox QAbstractItemView 686 | { 687 | background-color: #201F1F; 688 | border-radius: 2px; 689 | border: 1px solid #444; 690 | selection-background-color: #3d8ec9; 691 | color: silver; 692 | } 693 | 694 | QComboBox::drop-down 695 | { 696 | subcontrol-origin: padding; 697 | subcontrol-position: top right; 698 | width: 15px; 699 | 700 | border-left-width: 0px; 701 | border-left-color: darkgray; 702 | border-left-style: solid; 703 | border-top-right-radius: 3px; 704 | border-bottom-right-radius: 3px; 705 | } 706 | 707 | QComboBox::down-arrow 708 | { 709 | image: url(:/dark_blue/img/down_arrow_disabled.png); 710 | } 711 | 712 | QComboBox::down-arrow:on, QComboBox::down-arrow:hover, 713 | QComboBox::down-arrow:focus 714 | { 715 | image: url(:/dark_blue/img/down_arrow.png); 716 | } 717 | 718 | QPushButton:pressed 719 | { 720 | background-color: #484846; 721 | } 722 | 723 | QAbstractSpinBox { 724 | padding-top: 2px; 725 | padding-bottom: 2px; 726 | border: 1px solid #3A3939; 727 | background-color: #201F1F; 728 | color: silver; 729 | border-radius: 2px; 730 | min-width: 75px; 731 | } 732 | 733 | QAbstractSpinBox:up-button 734 | { 735 | background-color: transparent; 736 | subcontrol-origin: border; 737 | subcontrol-position: top right; 738 | } 739 | 740 | QAbstractSpinBox:down-button 741 | { 742 | background-color: transparent; 743 | subcontrol-origin: border; 744 | subcontrol-position: bottom right; 745 | } 746 | 747 | QAbstractSpinBox::up-arrow,QAbstractSpinBox::up-arrow:disabled,QAbstractSpinBox::up-arrow:off { 748 | image: url(:/dark_blue/img/up_arrow_disabled.png); 749 | width: 10px; 750 | height: 10px; 751 | } 752 | QAbstractSpinBox::up-arrow:hover 753 | { 754 | image: url(:/dark_blue/img/up_arrow.png); 755 | } 756 | 757 | 758 | QAbstractSpinBox::down-arrow,QAbstractSpinBox::down-arrow:disabled,QAbstractSpinBox::down-arrow:off 759 | { 760 | image: url(:/dark_blue/img/down_arrow_disabled.png); 761 | width: 10px; 762 | height: 10px; 763 | } 764 | QAbstractSpinBox::down-arrow:hover 765 | { 766 | image: url(:/dark_blue/img/down_arrow.png); 767 | } 768 | 769 | 770 | QLabel 771 | { 772 | border: 0px solid black; 773 | } 774 | 775 | QTabWidget{ 776 | border: 1px transparent black; 777 | } 778 | 779 | QTabWidget::pane { 780 | border: 1px solid #444; 781 | border-radius: 3px; 782 | padding: 3px; 783 | } 784 | 785 | QTabBar 786 | { 787 | qproperty-drawBase: 0; 788 | left: 5px; /* move to the right by 5px */ 789 | } 790 | 791 | QTabBar:focus 792 | { 793 | border: 0px transparent black; 794 | } 795 | 796 | QTabBar::close-button { 797 | image: url(:/dark_blue/img/close.png); 798 | background: transparent; 799 | } 800 | 801 | QTabBar::close-button:hover 802 | { 803 | image: url(:/dark_blue/img/close-hover.png); 804 | background: transparent; 805 | } 806 | 807 | QTabBar::close-button:pressed { 808 | image: url(:/dark_blue/img/close-pressed.png); 809 | background: transparent; 810 | } 811 | 812 | /* TOP TABS */ 813 | QTabBar::tab:top { 814 | color: #b1b1b1; 815 | border: 1px solid #4A4949; 816 | border-bottom: 1px transparent black; 817 | background-color: #302F2F; 818 | padding: 5px; 819 | border-top-left-radius: 2px; 820 | border-top-right-radius: 2px; 821 | } 822 | 823 | QTabBar::tab:top:!selected 824 | { 825 | color: #b1b1b1; 826 | background-color: #201F1F; 827 | border: 1px transparent #4A4949; 828 | border-bottom: 1px transparent #4A4949; 829 | border-top-left-radius: 0px; 830 | border-top-right-radius: 0px; 831 | } 832 | 833 | QTabBar::tab:top:!selected:hover { 834 | background-color: #48576b; 835 | } 836 | 837 | /* BOTTOM TABS */ 838 | QTabBar::tab:bottom { 839 | color: #b1b1b1; 840 | border: 1px solid #4A4949; 841 | border-top: 1px transparent black; 842 | background-color: #302F2F; 843 | padding: 5px; 844 | border-bottom-left-radius: 2px; 845 | border-bottom-right-radius: 2px; 846 | } 847 | 848 | QTabBar::tab:bottom:!selected 849 | { 850 | color: #b1b1b1; 851 | background-color: #201F1F; 852 | border: 1px transparent #4A4949; 853 | border-top: 1px transparent #4A4949; 854 | border-bottom-left-radius: 0px; 855 | border-bottom-right-radius: 0px; 856 | } 857 | 858 | QTabBar::tab:bottom:!selected:hover { 859 | background-color: #78879b; 860 | } 861 | 862 | /* LEFT TABS */ 863 | QTabBar::tab:left { 864 | color: #b1b1b1; 865 | border: 1px solid #4A4949; 866 | border-left: 1px transparent black; 867 | background-color: #302F2F; 868 | padding: 5px; 869 | border-top-right-radius: 2px; 870 | border-bottom-right-radius: 2px; 871 | } 872 | 873 | QTabBar::tab:left:!selected 874 | { 875 | color: #b1b1b1; 876 | background-color: #201F1F; 877 | border: 1px transparent #4A4949; 878 | border-right: 1px transparent #4A4949; 879 | border-top-right-radius: 0px; 880 | border-bottom-right-radius: 0px; 881 | } 882 | 883 | QTabBar::tab:left:!selected:hover { 884 | background-color: #48576b; 885 | } 886 | 887 | 888 | /* RIGHT TABS */ 889 | QTabBar::tab:right { 890 | color: #b1b1b1; 891 | border: 1px solid #4A4949; 892 | border-right: 1px transparent black; 893 | background-color: #302F2F; 894 | padding: 5px; 895 | border-top-left-radius: 2px; 896 | border-bottom-left-radius: 2px; 897 | } 898 | 899 | QTabBar::tab:right:!selected 900 | { 901 | color: #b1b1b1; 902 | background-color: #201F1F; 903 | border: 1px transparent #4A4949; 904 | border-right: 1px transparent #4A4949; 905 | border-top-left-radius: 0px; 906 | border-bottom-left-radius: 0px; 907 | } 908 | 909 | QTabBar::tab:right:!selected:hover { 910 | background-color: #48576b; 911 | } 912 | 913 | QTabBar QToolButton::right-arrow:enabled { 914 | image: url(:/dark_blue/img/right_arrow.png); 915 | } 916 | 917 | QTabBar QToolButton::left-arrow:enabled { 918 | image: url(:/dark_blue/img/left_arrow.png); 919 | } 920 | 921 | QTabBar QToolButton::right-arrow:disabled { 922 | image: url(:/dark_blue/img/right_arrow_disabled.png); 923 | } 924 | 925 | QTabBar QToolButton::left-arrow:disabled { 926 | image: url(:/dark_blue/img/left_arrow_disabled.png); 927 | } 928 | 929 | 930 | QDockWidget { 931 | border: 1px solid #403F3F; 932 | titlebar-close-icon: url(:/dark_blue/img/close.png); 933 | titlebar-normal-icon: url(:/dark_blue/img/undock.png); 934 | } 935 | 936 | QDockWidget::close-button, QDockWidget::float-button { 937 | border: 1px solid transparent; 938 | border-radius: 2px; 939 | background: transparent; 940 | } 941 | 942 | QDockWidget::close-button:hover, QDockWidget::float-button:hover { 943 | background: rgba(255, 255, 255, 10); 944 | } 945 | 946 | QDockWidget::close-button:pressed, QDockWidget::float-button:pressed { 947 | padding: 1px -1px -1px 1px; 948 | background: rgba(255, 255, 255, 10); 949 | } 950 | 951 | QTreeView, QListView, QTextBrowser, AtLineEdit, AtLineEdit::hover { 952 | border: 1px solid #444; 953 | background-color: silver; 954 | border-radius: 3px; 955 | margin-left: 3px; 956 | color: black; 957 | } 958 | 959 | QTreeView:branch:selected, QTreeView:branch:hover { 960 | background: url(:/dark_blue/img/transparent.png); 961 | } 962 | 963 | QTreeView::branch:has-siblings:!adjoins-item { 964 | border-image: url(:/dark_blue/img/transparent.png); 965 | } 966 | 967 | QTreeView::branch:has-siblings:adjoins-item { 968 | border-image: url(:/dark_blue/img/transparent.png); 969 | } 970 | 971 | QTreeView::branch:!has-children:!has-siblings:adjoins-item { 972 | border-image: url(:/dark_blue/img/transparent.png); 973 | } 974 | 975 | QTreeView::branch:has-children:!has-siblings:closed, 976 | QTreeView::branch:closed:has-children:has-siblings { 977 | image: url(:/dark_blue/img/branch_closed.png); 978 | } 979 | 980 | QTreeView::branch:open:has-children:!has-siblings, 981 | QTreeView::branch:open:has-children:has-siblings { 982 | image: url(:/dark_blue/img/branch_open.png); 983 | } 984 | 985 | QTreeView::branch:has-children:!has-siblings:closed:hover, 986 | QTreeView::branch:closed:has-children:has-siblings:hover { 987 | image: url(:/dark_blue/img/branch_closed-on.png); 988 | } 989 | 990 | QTreeView::branch:open:has-children:!has-siblings:hover, 991 | QTreeView::branch:open:has-children:has-siblings:hover { 992 | image: url(:/dark_blue/img/branch_open-on.png); 993 | } 994 | 995 | QListView::item:!selected:hover, QListView::item:!selected:hover, QTreeView::item:!selected:hover { 996 | background: rgba(0, 0, 0, 0); 997 | outline: 0; 998 | color: #FFFFFF 999 | } 1000 | 1001 | QListView::item:selected:hover, QListView::item:selected:hover, QTreeView::item:selected:hover { 1002 | background: #3d8ec9; 1003 | color: #FFFFFF; 1004 | } 1005 | 1006 | QSlider::groove:horizontal { 1007 | border: 1px solid #3A3939; 1008 | height: 8px; 1009 | background: #201F1F; 1010 | margin: 2px 0; 1011 | border-radius: 2px; 1012 | } 1013 | 1014 | QSlider::handle:horizontal { 1015 | background: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, 1016 | stop: 0.0 silver, stop: 0.2 #a8a8a8, stop: 1 #727272); 1017 | border: 1px solid #3A3939; 1018 | width: 14px; 1019 | height: 14px; 1020 | margin: -4px 0; 1021 | border-radius: 2px; 1022 | } 1023 | 1024 | QSlider::groove:vertical { 1025 | border: 1px solid #3A3939; 1026 | width: 8px; 1027 | background: #201F1F; 1028 | margin: 0 0px; 1029 | border-radius: 2px; 1030 | } 1031 | 1032 | QSlider::handle:vertical { 1033 | background: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0.0 silver, 1034 | stop: 0.2 #a8a8a8, stop: 1 #727272); 1035 | border: 1px solid #3A3939; 1036 | width: 14px; 1037 | height: 14px; 1038 | margin: 0 -4px; 1039 | border-radius: 2px; 1040 | } 1041 | 1042 | QToolButton { 1043 | /* background-color: transparent; */ 1044 | border: 2px transparent #4A4949; 1045 | border-radius: 4px; 1046 | background-color: dimgray; 1047 | margin: 2px; 1048 | padding: 2px; 1049 | } 1050 | 1051 | QToolButton[popupMode="1"] { /* only for MenuButtonPopup */ 1052 | padding-right: 20px; /* make way for the popup button */ 1053 | border: 2px transparent #4A4949; 1054 | border-radius: 4px; 1055 | } 1056 | 1057 | QToolButton[popupMode="2"] { /* only for InstantPopup */ 1058 | padding-right: 10px; /* make way for the popup button */ 1059 | border: 2px transparent #4A4949; 1060 | } 1061 | 1062 | 1063 | QToolButton:hover, QToolButton::menu-button:hover { 1064 | border: 2px solid #78879b; 1065 | } 1066 | 1067 | QToolButton:checked, QToolButton:pressed, 1068 | QToolButton::menu-button:pressed { 1069 | background-color: #4A4949; 1070 | border: 2px solid #78879b; 1071 | } 1072 | 1073 | /* the subcontrol below is used only in the InstantPopup or DelayedPopup mode */ 1074 | QToolButton::menu-indicator { 1075 | image: url(:/dark_blue/img/down_arrow.png); 1076 | top: -7px; left: -2px; /* shift it a bit */ 1077 | } 1078 | 1079 | /* the subcontrols below are used only in the MenuButtonPopup mode */ 1080 | QToolButton::menu-button { 1081 | border: 1px transparent #4A4949; 1082 | border-top-right-radius: 6px; 1083 | border-bottom-right-radius: 6px; 1084 | /* 16px width + 4px for border = 20px allocated above */ 1085 | width: 16px; 1086 | outline: none; 1087 | } 1088 | 1089 | QToolButton::menu-arrow { 1090 | image: url(:/dark_blue/img/down_arrow.png); 1091 | } 1092 | 1093 | QToolButton::menu-arrow:open { 1094 | top: 1px; left: 1px; /* shift it a bit */ 1095 | border: 1px solid #3A3939; 1096 | } 1097 | 1098 | QPushButton::menu-indicator { 1099 | subcontrol-origin: padding; 1100 | subcontrol-position: bottom right; 1101 | left: 4px; 1102 | } 1103 | 1104 | QTableView 1105 | { 1106 | border: 1px solid #444; 1107 | gridline-color: #6c6c6c; 1108 | background-color: #201F1F; 1109 | } 1110 | 1111 | 1112 | QTableView, QHeaderView 1113 | { 1114 | border-radius: 0px; 1115 | } 1116 | 1117 | QTableView::item:pressed, QListView::item:pressed, QTreeView::item:pressed { 1118 | background: #78879b; 1119 | color: #FFFFFF; 1120 | } 1121 | 1122 | QTableView::item:selected:active, QTreeView::item:selected:active, QListView::item:selected:active { 1123 | background: #3d8ec9; 1124 | color: #FFFFFF; 1125 | } 1126 | 1127 | 1128 | QHeaderView 1129 | { 1130 | border: 1px transparent; 1131 | border-radius: 2px; 1132 | margin: 0px; 1133 | padding: 0px; 1134 | } 1135 | 1136 | QHeaderView::section { 1137 | background-color: #3A3939; 1138 | color: silver; 1139 | padding: 4px; 1140 | border: 1px solid #6c6c6c; 1141 | border-radius: 0px; 1142 | text-align: center; 1143 | } 1144 | 1145 | QHeaderView::section::vertical::first, QHeaderView::section::vertical::only-one 1146 | { 1147 | border-top: 1px solid #6c6c6c; 1148 | } 1149 | 1150 | QHeaderView::section::vertical 1151 | { 1152 | border-top: transparent; 1153 | } 1154 | 1155 | QHeaderView::section::horizontal::first, QHeaderView::section::horizontal::only-one 1156 | { 1157 | border-left: 1px solid #6c6c6c; 1158 | } 1159 | 1160 | QHeaderView::section::horizontal 1161 | { 1162 | border-left: transparent; 1163 | } 1164 | 1165 | 1166 | QHeaderView::section:checked 1167 | { 1168 | color: white; 1169 | background-color: #5A5959; 1170 | } 1171 | 1172 | /* style the sort indicator */ 1173 | QHeaderView::down-arrow { 1174 | image: url(:/dark_blue/img/down_arrow.png); 1175 | } 1176 | 1177 | QHeaderView::up-arrow { 1178 | image: url(:/dark_blue/img/up_arrow.png); 1179 | } 1180 | 1181 | 1182 | QTableCornerButton::section { 1183 | background-color: #3A3939; 1184 | border: 1px solid #3A3939; 1185 | border-radius: 2px; 1186 | } 1187 | 1188 | QToolBox { 1189 | padding: 3px; 1190 | border: 1px transparent black; 1191 | } 1192 | 1193 | QToolBox::tab { 1194 | color: #b1b1b1; 1195 | background-color: #302F2F; 1196 | border: 1px solid #4A4949; 1197 | border-bottom: 1px transparent #302F2F; 1198 | border-top-left-radius: 5px; 1199 | border-top-right-radius: 5px; 1200 | } 1201 | 1202 | QToolBox::tab:selected { /* italicize selected tabs */ 1203 | font: italic; 1204 | background-color: #302F2F; 1205 | border-color: #3d8ec9; 1206 | } 1207 | 1208 | QStatusBar::item { 1209 | border: 1px solid #3A3939; 1210 | border-radius: 2px; 1211 | } 1212 | 1213 | 1214 | QFrame[height="3"], QFrame[width="3"] { 1215 | background-color: #AAA; 1216 | } 1217 | 1218 | 1219 | QSplitter::handle { 1220 | border: 1px dashed #3A3939; 1221 | } 1222 | 1223 | QSplitter::handle:hover { 1224 | background-color: #787876; 1225 | border: 1px solid #3A3939; 1226 | } 1227 | 1228 | QSplitter::handle:horizontal { 1229 | width: 1px; 1230 | } 1231 | 1232 | QSplitter::handle:vertical { 1233 | height: 1px; 1234 | } 1235 | 1236 | QListWidget { 1237 | background-color: silver; 1238 | border-radius: 5px; 1239 | margin-left: 5px; 1240 | } 1241 | 1242 | QListWidget::item { 1243 | color: black; 1244 | } 1245 | 1246 | QMessageBox { 1247 | messagebox-critical-icon : url(:/dark_blue/img/critical.png); 1248 | messagebox-information-icon : url(:/dark_blue/img/information.png); 1249 | messagebox-question-icon : url(:/dark_blue/img/question.png); 1250 | messagebox-warning-icon: : url(:/dark_blue/img/warning.png); 1251 | } 1252 | 1253 | ColorButton::enabled { 1254 | border-radius: 0px; 1255 | border: 1px solid #444444; 1256 | } 1257 | 1258 | ColorButton::disabled { 1259 | border-radius: 0px; 1260 | border: 1px solid #AAAAAA; 1261 | } 1262 | --------------------------------------------------------------------------------