Добавленна поддержка отображения, сохранинения, и загрузки растворителя во вкладке факторнго эксперимента. Убрана галочка рАндомизировать по умолчанию

This commit is contained in:
2026-05-27 15:41:09 +05:00
parent a2bc606336
commit acf3ad0dd5
5 changed files with 110 additions and 26 deletions
+44 -4
View File
@@ -12,7 +12,7 @@ class Colors:
"""Цветовая палитра приложения"""
# Основные цвета (Primary)
PRIMARY = "#999999" # Синий - основной акцент
PRIMARY = "#3498db" # Синий - основной акцент
PRIMARY_DARK = "#777777" # Тёмно-синий (наведение)
PRIMARY_LIGHT = "#5dade2" # Светло-синий
PRIMARY_BG = "#ebf5fb" # Фоновый для primary элементов
@@ -69,6 +69,9 @@ class Colors:
BORDER_DEFAULT = GRAY_400
BORDER_DARK = GRAY_600
# Цвет для заголовка
TITLE_COLOR = "#2c3e50"
# Прозрачность
TRANSPARENT = "transparent"
OVERLAY = "rgba(0, 0, 0, 0.5)"
@@ -100,7 +103,7 @@ class Fonts:
def get_title_font(cls):
"""Возвращает шрифт для заголовков"""
font = QFont(cls.FAMILY_PRIMARY.split(',')[0])
font.setPointSize(cls.SIZE_XLARGE)
font.setPointSize(cls.SIZE_XXLARGE)
font.setBold(True)
return font
@@ -192,6 +195,21 @@ class Spacing:
BORDER_RADIUS_LG = 8
BORDER_RADIUS_XL = 12
# ========== СТИЛЬ ЗАГОЛОВКА ==========
class TitleStyles:
@staticmethod
def main_title():
return f"""
color: {Colors.TITLE_COLOR};
padding: {Spacing.XL}px;
font-size: {Fonts.SIZE_XLARGE}px;
font-weight: {Fonts.WEIGHT_BOLD};
"""
# ========== СТИЛИ КНОПОК ==========
class ButtonStyles:
"""Стили для разных типов кнопок"""
@@ -464,9 +482,10 @@ class GroupBoxStyles:
font-size: {Fonts.SIZE_MEDIUM}px;
}}
QGroupBox::title {{
subcontrol-origin: margin;
left: {Spacing.LG}px;
padding: 0 {Spacing.MD}px;
padding: 10 {Spacing.MD}px;
color: {Colors.INFO};
}}
"""
@@ -485,7 +504,7 @@ class GroupBoxStyles:
QGroupBox::title {{
subcontrol-origin: margin;
left: {Spacing.LG}px;
padding: 0 {Spacing.MD}px;
padding: 10 {Spacing.MD}px;
color: {Colors.PRIMARY};
}}
"""
@@ -566,8 +585,29 @@ def get_full_stylesheet():
"""
Возвращает полную таблицу стилей для приложения
"""
return f"""
/* СТИЛИ ДЛЯ ВСЕХ КНОПОК ПО УМОЛЧАНИЮ */
QPushButton {{
background-color: {Colors.PRIMARY};
color: {Colors.TEXT_ON_PRIMARY};
border: none;
border-radius: {Spacing.BORDER_RADIUS_MD}px;
padding: {Spacing.SM}px {Spacing.LG}px;
font-weight: {Fonts.WEIGHT_SEMIBOLD};
font-size: {Fonts.SIZE_NORMAL}px;
}}
QPushButton:hover {{
background-color: {Colors.PRIMARY_LIGHT};
}}
QPushButton:pressed {{
background-color: {Colors.PRIMARY_DARK};
}}
/* Глобальные стили */
QLabel#mainTitle {{
{TitleStyles.main_title()}
}}
QMainWindow {{
background-color: {Colors.GRAY_200};
}}