diff --git a/main.py b/main.py index ce79437..86989f2 100644 --- a/main.py +++ b/main.py @@ -1,6 +1,7 @@ import sys from PySide6.QtWidgets import QApplication +from ui.main_palette import set_dark_theme from ui.main_window import MainWindow from controllers.main_controller import MainController @@ -8,7 +9,8 @@ from controllers.main_controller import MainController def main(): app = QApplication(sys.argv) - app.setStyle("Fusion") + set_dark_theme(app) + # app.setStyle("Fusion") window = MainWindow() controller = MainController(window) controller.load_colors() diff --git a/ui/main_palette.py b/ui/main_palette.py new file mode 100644 index 0000000..9bb95e0 --- /dev/null +++ b/ui/main_palette.py @@ -0,0 +1,48 @@ +import sys +from PySide6.QtWidgets import QApplication +from PySide6.QtGui import QPalette, QColor +from PySide6.QtCore import Qt + +def set_dark_theme(app: QApplication): + """Definiuje i stosuje ciemną paletę kolorów do aplikacji.""" + + # 1. Upewnij się, że styl jest ustawiony na "Fusion" + app.setStyle('Fusion') + + # 2. Definicja kolorów dla ciemnego motywu + palette = QPalette() + + # Kolory tła + DARK_GRAY = QColor(45, 45, 45) # Ogólne tło okien i widżetów (Base, Window) + LIGHT_GRAY = QColor(53, 53, 53) # Tło elementów, np. toolbara, menu (Window) + VERY_DARK_GRAY = QColor(32, 32, 32) # Kolor tła dla kontrolek (Button) + + # Kolory tekstu i obramowań + WHITE = QColor(200, 200, 200) # Główny kolor tekstu (Text, WindowText) + HIGHLIGHT = QColor(66, 135, 245) # Kolor podświetlenia (Highlight) + + # Ustawienie głównej palety + # palette.setColor(QPalette.ColorRole.Window, LIGHT_GRAY) + palette.setColor(QPalette.ColorRole.Window, VERY_DARK_GRAY) + palette.setColor(QPalette.ColorRole.WindowText, WHITE) + palette.setColor(QPalette.ColorRole.Base, DARK_GRAY) + palette.setColor(QPalette.ColorRole.AlternateBase, LIGHT_GRAY) + palette.setColor(QPalette.ColorRole.ToolTipBase, WHITE) + palette.setColor(QPalette.ColorRole.ToolTipText, WHITE) + palette.setColor(QPalette.ColorRole.Text, WHITE) + palette.setColor(QPalette.ColorRole.Button, VERY_DARK_GRAY) + palette.setColor(QPalette.ColorRole.ButtonText, WHITE) + palette.setColor(QPalette.ColorRole.BrightText, Qt.GlobalColor.red) + palette.setColor(QPalette.ColorRole.Link, QColor(42, 130, 218)) + palette.setColor(QPalette.ColorRole.PlaceholderText, QColor(150, 150, 150)) + + # Kolory zaznaczenia/interakcji + palette.setColor(QPalette.ColorRole.Highlight, HIGHLIGHT) + palette.setColor(QPalette.ColorRole.HighlightedText, Qt.GlobalColor.black) + + # Kontrolki wyłączone (Disabled) + # palette.setColor(QPalette.ColorRole.Disabled, QPalette.ColorGroup.Active, QPalette.ColorRole.Text, QColor(127, 127, 127)) + # palette.setColor(QPalette.ColorRole.Disabled, QPalette.ColorGroup.Active, QPalette.ColorRole.ButtonText, QColor(127, 127, 127)) + + # 3. Zastosowanie palety do aplikacji + app.setPalette(palette)