Воркед

This commit is contained in:
kromskii2 committed 2025-03-15 09:36:28 +07:00
1 parent ac32c55ab9
commit ee94d8e529
1138 files changed
+55771 -77901

No files matched your search

+31 -1
View File
@@ -1,6 +1,14 @@
from PyQt6.QtWidgets import QWidget, QVBoxLayout, QHBoxLayout, QPushButton, QLabel, QFrame
from PyQt6.QtCore import Qt, pyqtSignal
from .size_presets import SIZE_PRESETS
from dataclasses import dataclass
from typing import List, Dict
@dataclass
class SizePreset:
name: str
width: int
height: int
class SizePresetManager(QWidget):
size_changed = pyqtSignal(int, int) # Сигнал для изменения размера
@@ -8,6 +16,17 @@ class SizePresetManager(QWidget):
def __init__(self, parent=None):
super().__init__(parent)
self.setup_ui()
self.presets = [
SizePreset("512x512", 512, 512),
SizePreset("768x768", 768, 768),
SizePreset("1024x1024", 1024, 1024),
SizePreset("512x768", 512, 768),
SizePreset("768x512", 768, 512),
SizePreset("512x1024", 512, 1024),
SizePreset("1024x512", 1024, 512),
SizePreset("768x1024", 768, 1024),
SizePreset("1024x768", 1024, 768),
]
def setup_ui(self):
layout = QVBoxLayout(self)
@@ -90,4 +109,15 @@ class SizePresetManager(QWidget):
def on_preset_clicked(self, width, height):
"""Обработчик нажатия на кнопку пресета"""
self.size_changed.emit(width, height)
self.size_changed.emit(width, height)
def get_preset_names(self) -> List[str]:
"""Возвращает список имен пресетов"""
return [preset.name for preset in self.presets]
def get_preset(self, name: str) -> SizePreset:
"""Возвращает пресет по имени"""
return next(
(preset for preset in self.presets if preset.name == name),
None
)