def __init__(self, parent=None): """ Constructor """ QDialog.__init__(self, parent) self.state = 0 self.posX = 0 self.posY = 0 self.posW = 0 self.posH = 0 self.setWindowFlags(Qt.Tool | Qt.FramelessWindowHint) self.setWindowFlags(self.windowFlags() | Qt.WindowStaysOnTopHint) # maximize window screen = QDesktopWidget().screenGeometry() self.setGeometry(screen) # set cross cursor self.setCursor(Qt.CursorShape(Qt.CrossCursor)) # display self.show() # create rubberband self.rb = QRubberBand(QRubberBand.Rectangle) self.rb.setWindowOpacity(0.4) # new in v18, to support pyqt5 properly self.snapshotResult = None layout = QVBoxLayout() self.backgroundLabel = QLabel() layout.addWidget(self.backgroundLabel) layout.setContentsMargins(0, 0, 0, 0) self.setLayout(layout)