31 lines
779 B
Python
31 lines
779 B
Python
from PyQt5.QtWidgets import QLabel
|
|
from PyQt5.QtCore import Qt
|
|
|
|
|
|
class FixedAspectRatioLabel(QLabel):
|
|
def __init__(self, parent = None):
|
|
super().__init__(parent)
|
|
self.pixmap = None
|
|
|
|
def set_default_stylesheet(self):
|
|
self.setStyleSheet("""border-width: 1px;
|
|
border-style: solid;
|
|
border-color: black;"""
|
|
)
|
|
|
|
def make_transparent(self):
|
|
self.setText('')
|
|
self.setStyleSheet("border-width: 0px;")
|
|
|
|
def apply_pixmap(self):
|
|
if self.pixmap:
|
|
self.setPixmap(
|
|
self.pixmap.scaled(
|
|
self.size(), Qt.IgnoreAspectRatio, Qt.SmoothTransformation
|
|
)
|
|
)
|
|
|
|
def rescale(self, size):
|
|
self.resize(size)
|
|
self.apply_pixmap()
|