From 84b934036b816c8f37a6200bf07892a2bb05ba78 Mon Sep 17 00:00:00 2001 From: "mamonov.ep" Date: Thu, 11 Dec 2025 15:39:41 +0300 Subject: [PATCH] =?UTF-8?q?=D1=84=D0=B8=D0=BD=D0=B0=D0=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- firstLabVisualProg/main.spec | 44 ------------------ .../controlWorkVisualProg}/main.py | 0 .../controlWorkVisualProg}/pharmacy.db | Bin .../controlWorkVisualProg}/requirements.txt | 0 .../firstLabVisualProg}/Untitled-1.txt | 0 .../firstLabVisualProg}/main.py | 0 visuapPart1/firstLabVisualProg/razdel2.txt | 3 ++ .../secondLabVisualProg}/main.py | 32 +++++++++---- visuapPart1/secondLabVisualProg/test.png | Bin 0 -> 24615 bytes .../thirdLabVisualProg}/faculty.db | Bin 28672 -> 28672 bytes .../thirdLabVisualProg}/main.py | 0 .../thirdLabVisualProg}/requirements.txt | 0 12 files changed, 27 insertions(+), 52 deletions(-) delete mode 100644 firstLabVisualProg/main.spec rename {controlWorkVisualProg => visuapPart1/controlWorkVisualProg}/main.py (100%) rename {controlWorkVisualProg => visuapPart1/controlWorkVisualProg}/pharmacy.db (100%) rename {controlWorkVisualProg => visuapPart1/controlWorkVisualProg}/requirements.txt (100%) rename {firstLabVisualProg => visuapPart1/firstLabVisualProg}/Untitled-1.txt (100%) rename {firstLabVisualProg => visuapPart1/firstLabVisualProg}/main.py (100%) create mode 100644 visuapPart1/firstLabVisualProg/razdel2.txt rename {secondLabVisualProg => visuapPart1/secondLabVisualProg}/main.py (92%) create mode 100644 visuapPart1/secondLabVisualProg/test.png rename {thirdLabVisualProg => visuapPart1/thirdLabVisualProg}/faculty.db (98%) rename {thirdLabVisualProg => visuapPart1/thirdLabVisualProg}/main.py (100%) rename {thirdLabVisualProg => visuapPart1/thirdLabVisualProg}/requirements.txt (100%) diff --git a/firstLabVisualProg/main.spec b/firstLabVisualProg/main.spec deleted file mode 100644 index e583453..0000000 --- a/firstLabVisualProg/main.spec +++ /dev/null @@ -1,44 +0,0 @@ -# -*- mode: python ; coding: utf-8 -*- - - -a = Analysis( - ['main.py'], - pathex=[], - binaries=[], - datas=[], - hiddenimports=[], - hookspath=[], - hooksconfig={}, - runtime_hooks=[], - excludes=[], - noarchive=False, - optimize=0, -) -pyz = PYZ(a.pure) - -exe = EXE( - pyz, - a.scripts, - a.binaries, - a.datas, - [], - name='main', - debug=False, - bootloader_ignore_signals=False, - strip=False, - upx=True, - upx_exclude=[], - runtime_tmpdir=None, - console=False, - disable_windowed_traceback=False, - argv_emulation=False, - target_arch=None, - codesign_identity=None, - entitlements_file=None, -) -app = BUNDLE( - exe, - name='main.app', - icon=None, - bundle_identifier=None, -) diff --git a/controlWorkVisualProg/main.py b/visuapPart1/controlWorkVisualProg/main.py similarity index 100% rename from controlWorkVisualProg/main.py rename to visuapPart1/controlWorkVisualProg/main.py diff --git a/controlWorkVisualProg/pharmacy.db b/visuapPart1/controlWorkVisualProg/pharmacy.db similarity index 100% rename from controlWorkVisualProg/pharmacy.db rename to visuapPart1/controlWorkVisualProg/pharmacy.db diff --git a/controlWorkVisualProg/requirements.txt b/visuapPart1/controlWorkVisualProg/requirements.txt similarity index 100% rename from controlWorkVisualProg/requirements.txt rename to visuapPart1/controlWorkVisualProg/requirements.txt diff --git a/firstLabVisualProg/Untitled-1.txt b/visuapPart1/firstLabVisualProg/Untitled-1.txt similarity index 100% rename from firstLabVisualProg/Untitled-1.txt rename to visuapPart1/firstLabVisualProg/Untitled-1.txt diff --git a/firstLabVisualProg/main.py b/visuapPart1/firstLabVisualProg/main.py similarity index 100% rename from firstLabVisualProg/main.py rename to visuapPart1/firstLabVisualProg/main.py diff --git a/visuapPart1/firstLabVisualProg/razdel2.txt b/visuapPart1/firstLabVisualProg/razdel2.txt new file mode 100644 index 0000000..11cb49d --- /dev/null +++ b/visuapPart1/firstLabVisualProg/razdel2.txt @@ -0,0 +1,3 @@ +"917:1872", +"region": +Проверка \ No newline at end of file diff --git a/secondLabVisualProg/main.py b/visuapPart1/secondLabVisualProg/main.py similarity index 92% rename from secondLabVisualProg/main.py rename to visuapPart1/secondLabVisualProg/main.py index 8497e6a..b305c74 100644 --- a/secondLabVisualProg/main.py +++ b/visuapPart1/secondLabVisualProg/main.py @@ -6,7 +6,7 @@ from PyQt5.QtWidgets import ( ) from PyQt5.QtCore import Qt, QPoint from PyQt5.QtGui import ( - QImage, QPainter, QPen, QColor, QPixmap, QIcon + QImage, QPainter, QPen, QColor, QPixmap, QIcon, QPainterPath ) @@ -34,6 +34,9 @@ class Canvas(QWidget): self.redo_stack = [] self.save_state() # Сохраняем начальное состояние + # Путь для текущего штриха (для корректной работы пунктирных стилей) + self.current_path = None + def save_state(self): """Сохранить текущее состояние для undo""" self.undo_stack.append(self.image.copy()) @@ -123,28 +126,41 @@ class Canvas(QWidget): self.drawing = True self.last_point = event.pos() self.save_state() # Сохраняем состояние перед началом рисования + # Создаём новый путь для штриха + self.current_path = QPainterPath() + self.current_path.moveTo(event.pos()) def mouseMoveEvent(self, event): """Обработка движения мыши""" if self.drawing: - painter = QPainter(self.image) - if event.buttons() & Qt.RightButton: # Правая кнопка - ластик (стираем белым цветом) + # Ластик рисуем линиями напрямую + painter = QPainter(self.image) pen = QPen(Qt.white, self.eraser_width, Qt.SolidLine, Qt.RoundCap, Qt.RoundJoin) + painter.setPen(pen) + painter.drawLine(self.last_point, event.pos()) + self.last_point = event.pos() else: - # Левая кнопка - рисуем - pen = QPen(self.pen_color, self.pen_width, self.pen_style, Qt.RoundCap, Qt.RoundJoin) + # Левая кнопка - рисуем с использованием пути + self.current_path.lineTo(event.pos()) + + # Восстанавливаем сохранённое состояние и перерисовываем весь путь + if len(self.undo_stack) > 0: + self.image = self.undo_stack[-1].copy() + + painter = QPainter(self.image) + pen = QPen(self.pen_color, self.pen_width, self.pen_style, Qt.RoundCap, Qt.RoundJoin) + painter.setPen(pen) + painter.drawPath(self.current_path) - painter.setPen(pen) - painter.drawLine(self.last_point, event.pos()) - self.last_point = event.pos() self.update() def mouseReleaseEvent(self, event): """Обработка отпускания кнопки мыши""" if event.button() == Qt.LeftButton or event.button() == Qt.RightButton: self.drawing = False + self.current_path = None class MainWindow(QMainWindow): diff --git a/visuapPart1/secondLabVisualProg/test.png b/visuapPart1/secondLabVisualProg/test.png new file mode 100644 index 0000000000000000000000000000000000000000..e400f06e629d1bb38e7c48ce5a9d4d37af6444db GIT binary patch literal 24615 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 literal 0 HcmV?d00001 diff --git a/thirdLabVisualProg/faculty.db b/visuapPart1/thirdLabVisualProg/faculty.db similarity index 98% rename from thirdLabVisualProg/faculty.db rename to visuapPart1/thirdLabVisualProg/faculty.db index 14d04ed8d395e18f354459f8c07edfba5cf4e622..496458354e27bf420ce4267f87d4d3ad1bb5dcba 100644 GIT binary patch delta 175 zcmZp8z}WDBae_1>-$WT_M!t;+#rBNco3GgGDoFG0X5iqJW8lx_JImL~XV3eWUyC<` zSC02QuiR!q0Vdwba=CNu`Q;d#G!=Cjnba@LxUlKMh6{Ty?9<`qU{IG7Wn@yku;{|n zi;WkX42_HpjV|oG*mkk`V)unjEbJFcQj1F*N{ToC%2j7n;?Y&LWn|L4Fv*dFgFze3 RG?1xAlP~9LP0r1q3;=>fKtccj delta 170 zcmZp8z}WDBae_1>*F+g-My`zs#rBL`o3GgGDoFFoF>vt8G4SW|o#kugv*-QGyPG$I zR}KU>3koptPL|7^E8)Pw!Jw(A%gCgDVaA0`7dBkjdto1lp6r~jwfS$Z3Zsj^uBt5~ zljem<7dBjMys+cK?u$JawgQz*0n>)P-M@A9Y8+Fh#eQ(nb@zC OWhR&87fnvhpA7(~hD?zF diff --git a/thirdLabVisualProg/main.py b/visuapPart1/thirdLabVisualProg/main.py similarity index 100% rename from thirdLabVisualProg/main.py rename to visuapPart1/thirdLabVisualProg/main.py diff --git a/thirdLabVisualProg/requirements.txt b/visuapPart1/thirdLabVisualProg/requirements.txt similarity index 100% rename from thirdLabVisualProg/requirements.txt rename to visuapPart1/thirdLabVisualProg/requirements.txt