This commit is contained in:
Jeffreytsai1004 2025-04-18 02:12:22 +08:00
parent 27759b19f4
commit 42d10bd19c
2 changed files with 202 additions and 9 deletions

View File

@ -54,18 +54,10 @@ PYTHON_VERSION = config.PYTHON_VERSION
PYTHON_VERSION_DIR = config.PYTHON_VERSION_DIR PYTHON_VERSION_DIR = config.PYTHON_VERSION_DIR
# Tool specific configuration # Tool specific configuration
TOOL_ICON = os.path.join(ICONS_PATH, "Logo", "Tool_logo.png") TOOL_ICON = os.path.join(ICONS_PATH, "logo.png")
if not os.path.exists(TOOL_ICON): if not os.path.exists(TOOL_ICON):
# If icon file does not exist, use default stylesheet as temporary icon # If icon file does not exist, use default stylesheet as temporary icon
TOOL_ICON = os.path.join(ASSETS_PATH, "dark_theme.qss") TOOL_ICON = os.path.join(ASSETS_PATH, "dark_theme.qss")
# Create Logo directory
logo_dir = os.path.join(ICONS_PATH, "Logo")
if not os.path.exists(logo_dir):
os.makedirs(logo_dir)
# Copy stylesheet as temporary icon
import shutil
shutil.copy(TOOL_ICON, os.path.join(ICONS_PATH, "Logo", "Tool_logo.png"))
TOOL_ICON = os.path.join(ICONS_PATH, "Logo", "Tool_logo.png")
TOOL_COMMAND_ICON = TOOL_ICON # Use the same icon TOOL_COMMAND_ICON = TOOL_ICON # Use the same icon
TOOL_WSCL_NAME = f"{TOOL_NAME}WorkspaceControl" TOOL_WSCL_NAME = f"{TOOL_NAME}WorkspaceControl"

201
assets/dark_theme.qss Normal file
View File

@ -0,0 +1,201 @@
/*
* Tool Qt Style Sheet (QSS)
* Dark Theme
*/
/* Global Styles */
QWidget {
background-color: #1E1E1E;
color: #E0E0E0;
font-family: "Microsoft YaHei UI";
font-size: 9pt;
}
/* Button Styles */
QPushButton {
background-color: #2D2D30;
border: 1px solid #3F3F46;
border-radius: 4px;
padding: 5px 15px;
min-height: 24px;
color: #E0E0E0;
}
QPushButton:hover {
background-color: #3E3E42;
border-color: #007ACC;
}
QPushButton:pressed {
background-color: #007ACC;
color: #FFFFFF;
}
QPushButton:disabled {
background-color: #2D2D30;
color: #656565;
border-color: #3F3F46;
}
/* Input Box Styles */
QLineEdit {
background-color: #252526;
border: 1px solid #3F3F46;
border-radius: 4px;
padding: 3px 8px;
min-height: 24px;
color: #E0E0E0;
}
QLineEdit:focus {
border-color: #007ACC;
}
/* Combo Box Styles */
QComboBox {
background-color: #252526;
border: 1px solid #3F3F46;
border-radius: 4px;
padding: 3px 8px;
min-height: 24px;
color: #E0E0E0;
}
QComboBox:hover {
border-color: #007ACC;
}
/* Qt-specific subcontrol for ComboBox dropdown button */
QComboBox::drop-down {
width: 20px;
border-left: 1px solid #3F3F46;
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
/* Qt-specific properties for positioning the dropdown button */
subcontrol-origin: padding;
subcontrol-position: center right;
/* Standard CSS would use absolute positioning */
position: relative;
}
/* Qt-specific selector for ComboBox arrow */
QComboBox::down-arrow {
width: 12px;
height: 12px;
/* Qt-specific property for displaying an image */
image: url(:/icons/down_arrow.png);
/* Standard CSS would use background-image */
background-image: url(:/icons/down_arrow.png);
background-position: center;
background-repeat: no-repeat;
background-size: contain;
}
/* Tab Widget Styles */
QTabWidget::pane {
border: 1px solid #3F3F46;
background-color: #1E1E1E;
}
QTabBar::tab {
background-color: #2D2D30;
border: 1px solid #3F3F46;
border-bottom: none;
border-top-left-radius: 4px;
border-top-right-radius: 4px;
padding: 6px 12px;
color: #E0E0E0;
min-width: 80px;
}
QTabBar::tab:selected {
background-color: #007ACC;
color: #FFFFFF;
}
QTabBar::tab:hover {
background-color: #3E3E42;
}
/* Scroll Bar Styles */
QScrollBar:vertical {
background-color: #1E1E1E;
width: 12px;
border-radius: 6px;
margin: 0px;
}
QScrollBar::handle:vertical {
background-color: #3E3E42;
border-radius: 6px;
min-height: 20px;
}
QScrollBar::handle:vertical:hover {
background-color: #007ACC;
}
QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical {
height: 0px;
}
QScrollBar:horizontal {
background-color: #1E1E1E;
height: 12px;
border-radius: 6px;
margin: 0px;
}
QScrollBar::handle:horizontal {
background-color: #3E3E42;
border-radius: 6px;
min-width: 20px;
}
QScrollBar::handle:horizontal:hover {
background-color: #007ACC;
}
QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal {
width: 0px;
}
/* Menu Styles */
QMenuBar {
background-color: #1E1E1E;
border-bottom: 1px solid #3F3F46;
color: #E0E0E0;
}
QMenuBar::item {
background: transparent;
padding: 6px 10px;
}
QMenuBar::item:selected {
background-color: #3E3E42;
color: #FFFFFF;
}
QMenu {
background-color: #1E1E1E;
border: 1px solid #3F3F46;
padding: 2px;
}
QMenu::item {
padding: 6px 25px 6px 20px;
border-radius: 4px;
margin: 2px;
}
QMenu::item:selected {
background-color: #007ACC;
color: #FFFFFF;
}
QMenu::separator {
height: 1px;
background-color: #3F3F46;
margin: 4px 10px;
}