First upload, 18 controller version
This commit is contained in:
189
app/ui/theme.py
Normal file
189
app/ui/theme.py
Normal file
@@ -0,0 +1,189 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from app.qt_compat import QApplication, QColor, QFont, QPalette
|
||||
|
||||
|
||||
def apply_dark_theme(app: QApplication) -> None:
|
||||
app.setStyle("Fusion")
|
||||
font = QFont(app.font())
|
||||
if font.pointSizeF() < 11.5:
|
||||
font.setPointSizeF(11.5)
|
||||
if hasattr(font, "setFamilies"):
|
||||
font.setFamilies(["Segoe UI Variable Text", "Segoe UI", "Bahnschrift"])
|
||||
else:
|
||||
font.setFamily("Segoe UI")
|
||||
app.setFont(font)
|
||||
|
||||
palette = QPalette()
|
||||
palette.setColor(QPalette.Window, QColor("#1E1E1E"))
|
||||
palette.setColor(QPalette.WindowText, QColor("#CCCCCC"))
|
||||
palette.setColor(QPalette.Base, QColor("#252526"))
|
||||
palette.setColor(QPalette.AlternateBase, QColor("#2D2D30"))
|
||||
palette.setColor(QPalette.ToolTipBase, QColor("#252526"))
|
||||
palette.setColor(QPalette.ToolTipText, QColor("#CCCCCC"))
|
||||
palette.setColor(QPalette.Text, QColor("#CCCCCC"))
|
||||
palette.setColor(QPalette.Button, QColor("#2D2D30"))
|
||||
palette.setColor(QPalette.ButtonText, QColor("#CCCCCC"))
|
||||
palette.setColor(QPalette.Highlight, QColor("#007ACC"))
|
||||
palette.setColor(QPalette.HighlightedText, QColor("#FFFFFF"))
|
||||
palette.setColor(QPalette.BrightText, QColor("#FFFFFF"))
|
||||
palette.setColor(QPalette.PlaceholderText, QColor("#7A7A7A"))
|
||||
app.setPalette(palette)
|
||||
|
||||
app.setStyleSheet(
|
||||
"""
|
||||
QWidget {
|
||||
background: #1E1E1E;
|
||||
color: #CCCCCC;
|
||||
}
|
||||
QMainWindow, QDialog {
|
||||
background: #1E1E1E;
|
||||
}
|
||||
QToolBar {
|
||||
background: #2D2D30;
|
||||
border: none;
|
||||
border-bottom: 1px solid #3C3C3C;
|
||||
spacing: 4px;
|
||||
padding: 4px 6px;
|
||||
}
|
||||
QToolButton {
|
||||
background: transparent;
|
||||
color: #CCCCCC;
|
||||
border: 1px solid transparent;
|
||||
border-radius: 3px;
|
||||
padding: 6px 10px;
|
||||
margin: 0 1px;
|
||||
}
|
||||
QToolButton:hover {
|
||||
background: #37373D;
|
||||
border-color: #37373D;
|
||||
}
|
||||
QToolButton:pressed, QToolButton:checked {
|
||||
background: #094771;
|
||||
border-color: #007ACC;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
QStatusBar {
|
||||
background: #007ACC;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
QStatusBar QLabel {
|
||||
background: transparent;
|
||||
color: #FFFFFF;
|
||||
padding: 0 4px;
|
||||
}
|
||||
QWidget#sectionHeader {
|
||||
background: transparent;
|
||||
border: none;
|
||||
}
|
||||
QLabel#sectionHeaderLabel {
|
||||
background: transparent;
|
||||
color: #CCCCCC;
|
||||
font-size: 26px;
|
||||
font-weight: 600;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
QWidget#sectionBody {
|
||||
background: #252526;
|
||||
border: 1px solid #3C3C3C;
|
||||
border-radius: 0;
|
||||
}
|
||||
QGroupBox {
|
||||
background: #252526;
|
||||
border: 1px solid #3C3C3C;
|
||||
border-radius: 0;
|
||||
margin-top: 30px;
|
||||
font-weight: 600;
|
||||
padding: 10px 12px 12px 12px;
|
||||
}
|
||||
QGroupBox::title {
|
||||
subcontrol-origin: margin;
|
||||
subcontrol-position: top left;
|
||||
top: 7px;
|
||||
left: 12px;
|
||||
background: transparent;
|
||||
padding: 0 0 0 0;
|
||||
color: #CCCCCC;
|
||||
font-size: 12px;
|
||||
}
|
||||
QLabel {
|
||||
background: transparent;
|
||||
border: none;
|
||||
padding: 0;
|
||||
}
|
||||
QPushButton, QComboBox, QLineEdit, QSpinBox, QDoubleSpinBox, QPlainTextEdit, QListWidget, QTableWidget {
|
||||
background: #1F1F1F;
|
||||
border: 1px solid #3C3C3C;
|
||||
border-radius: 3px;
|
||||
padding: 7px 10px;
|
||||
selection-background-color: #094771;
|
||||
selection-color: #FFFFFF;
|
||||
}
|
||||
QPushButton:hover, QComboBox:hover, QLineEdit:hover, QSpinBox:hover, QDoubleSpinBox:hover {
|
||||
border-color: #007ACC;
|
||||
}
|
||||
QPushButton {
|
||||
background: #2D2D30;
|
||||
min-height: 32px;
|
||||
}
|
||||
QPushButton:checked {
|
||||
background: #094771;
|
||||
color: #FFFFFF;
|
||||
border-color: #007ACC;
|
||||
}
|
||||
QComboBox::drop-down {
|
||||
border: none;
|
||||
width: 24px;
|
||||
}
|
||||
QListWidget::item {
|
||||
padding: 6px 8px;
|
||||
border-radius: 2px;
|
||||
margin: 1px 0;
|
||||
}
|
||||
QListWidget::item:selected {
|
||||
background: #094771;
|
||||
border: 1px solid #007ACC;
|
||||
}
|
||||
QHeaderView::section {
|
||||
background: #2D2D30;
|
||||
color: #CCCCCC;
|
||||
border: none;
|
||||
border-right: 1px solid #3C3C3C;
|
||||
padding: 6px 8px;
|
||||
}
|
||||
QTabWidget::pane {
|
||||
border: 1px solid #3C3C3C;
|
||||
border-radius: 0;
|
||||
top: -1px;
|
||||
}
|
||||
QTabBar::tab {
|
||||
background: #2D2D30;
|
||||
border: 1px solid #3C3C3C;
|
||||
border-bottom: none;
|
||||
padding: 8px 14px;
|
||||
margin-right: 2px;
|
||||
border-top-left-radius: 3px;
|
||||
border-top-right-radius: 3px;
|
||||
}
|
||||
QTabBar::tab:selected {
|
||||
background: #1E1E1E;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
QScrollBar:vertical {
|
||||
background: #252526;
|
||||
width: 12px;
|
||||
}
|
||||
QScrollBar::handle:vertical {
|
||||
background: #424242;
|
||||
border-radius: 6px;
|
||||
min-height: 30px;
|
||||
}
|
||||
QScrollBar::handle:vertical:hover {
|
||||
background: #4F4F4F;
|
||||
}
|
||||
QSplitter::handle {
|
||||
background: #2D2D30;
|
||||
}
|
||||
"""
|
||||
)
|
||||
Reference in New Issue
Block a user