refactor: implement set_dark_theme function for application theming
This commit is contained in:
4
main.py
4
main.py
@@ -1,6 +1,7 @@
|
|||||||
import sys
|
import sys
|
||||||
from PySide6.QtWidgets import QApplication
|
from PySide6.QtWidgets import QApplication
|
||||||
|
|
||||||
|
from ui.main_palette import set_dark_theme
|
||||||
from ui.main_window import MainWindow
|
from ui.main_window import MainWindow
|
||||||
from controllers.main_controller import MainController
|
from controllers.main_controller import MainController
|
||||||
|
|
||||||
@@ -8,7 +9,8 @@ from controllers.main_controller import MainController
|
|||||||
|
|
||||||
def main():
|
def main():
|
||||||
app = QApplication(sys.argv)
|
app = QApplication(sys.argv)
|
||||||
app.setStyle("Fusion")
|
set_dark_theme(app)
|
||||||
|
# app.setStyle("Fusion")
|
||||||
window = MainWindow()
|
window = MainWindow()
|
||||||
controller = MainController(window)
|
controller = MainController(window)
|
||||||
controller.load_colors()
|
controller.load_colors()
|
||||||
|
|||||||
48
ui/main_palette.py
Normal file
48
ui/main_palette.py
Normal file
@@ -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)
|
||||||
Reference in New Issue
Block a user