Skip to content

yjg30737/pyqt-style-setter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pyqt-style-setter

PyQt style setter

Note

Currently the only style you can set is dark-gray(pyqt-dark-gray-theme), light-gray(pyqt-light-gray-theme).

Requirements

  • PyQt5 >= 5.8

Setup

python -m pip install pyqt-style-setter

Included Packages

Usage

  • StyleSetter.setWindowStyle(main_window: QWidget, theme: str = 'dark', exclude_type_lst: list = []) - main_window is the widget which user want to set the style. exclude_type_lst's items are excluded from applying style. Item type should be type(ex. QAbstractButton). Currently it only works for QAbstractButton.

Example

※ I use the pyqt-timer's settings dialog as an example.

PyQt default theme

from PyQt5.QtWidgets import QApplication
from pyqt_timer.settingsDialog import SettingsDialog

if __name__ == "__main__":
    import sys

    app = QApplication(sys.argv)
    window = SettingsDialog()
    window.show()
    app.exec_()

image

Dark-gray theme

from PyQt5.QtWidgets import QApplication
from pyqt_style_setter import StyleSetter
from pyqt_timer.settingsDialog import SettingsDialog

if __name__ == "__main__":
    import sys

    app = QApplication(sys.argv)
    window = SettingsDialog()
    StyleSetter.setWindowStyle(window) # add this
    window.show()
    app.exec_()

image

from PyQt5.QtWidgets import QApplication
from pyqt_custom_titlebar_setter import CustomTitlebarSetter
from pyqt_style_setter import StyleSetter
from pyqt_timer.settingsDialog import SettingsDialog

if __name__ == "__main__":
    import sys

    app = QApplication(sys.argv)
    dialog = SettingsDialog()
    StyleSetter.setWindowStyle(dialog)
    titleBarWindow = CustomTitlebarSetter.getCustomTitleBarWindow(dialog, icon_filename='settings.svg')
    titleBarWindow.show()
    app.exec_()

image

For those who use macOS

image

See Also

  • qtsasstheme - using sass to set qt theme, bit more harder but far more flexible

About

PyQt style setter

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages