|
20 | 20 | from PyQt5.QtCore import QPoint, QRect, QSize, QThreadPool, QTimer, Qt, pyqtSlot
|
21 | 21 | from PyQt5.QtGui import QCursor, QPixmap
|
22 | 22 | from PyQt5.QtWidgets import QApplication, QGraphicsView, QLabel, QWidget
|
| 23 | +from PyQt5.QtCore import QSize |
23 | 24 |
|
24 | 25 | from components.misc import RubberBand
|
25 | 26 | from components.services import BaseWorker
|
@@ -50,19 +51,29 @@ def __init__(self, parent: QWidget):
|
50 | 51 | self.pixmap = QPixmap()
|
51 | 52 |
|
52 | 53 | self.activeScreenIndex = 0
|
| 54 | + self.updateViewSize() |
53 | 55 |
|
54 | 56 | # ------------------------------------ Screen ----------------------------------- #
|
55 | 57 |
|
| 58 | + def updateViewSize(self): |
| 59 | + screen_index = self.activeScreenIndex |
| 60 | + screen = QApplication.screens()[screen_index] |
| 61 | + screen_size = screen.size() |
| 62 | + self.setFixedSize(screen_size) |
| 63 | + self.setSceneRect(0, 0, screen_size.width(), screen_size.height()) |
| 64 | + |
56 | 65 | def getActiveScreenIndex(self):
|
57 | 66 | cursor = QCursor.pos()
|
58 | 67 | index = QApplication.desktop().screenNumber(cursor)
|
59 | 68 | self.activeScreenIndex = index
|
| 69 | + self.updateViewSize() |
60 | 70 | return index
|
61 | 71 |
|
62 | 72 | def captureScreen(self, index: int):
|
63 | 73 | screen = QApplication.screens()[index]
|
64 | 74 | s = screen.size()
|
65 | 75 | self.pixmap = screen.grabWindow(0).scaled(s.width(), s.height())
|
| 76 | + self.updateViewSize() |
66 | 77 |
|
67 | 78 | @pyqtSlot()
|
68 | 79 | def rubberBandStopped(self):
|
|
0 commit comments