Воркед
This commit is contained in:
1 parent
ac32c55ab9
commit
ee94d8e529
1138 files changed
+55771
-77901
No files matched your search
@@ -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
|
||||
)
|
||||
Reference in new issue
Block a user