st-ten-1/src/ui/test_assembly/test_assembly.py

49 lines
1.6 KiB
Python
Raw Normal View History

2022-06-01 16:37:19 +00:00
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QPixmap
from ui.helpers import replace_widget
from ui.widget import Widget
class Test_Assembly(Widget):
def __init__(self, img_path=None, text=None, widget=None):
super().__init__()
self.set_img(img_path=img_path)
self.set_text(text=text)
self.set_widget(widget=widget)
self.resizeEvent()
def set_img(self, img_path=None):
if img_path is not None:
self.img = QPixmap(str(img_path))
self.img_l.setVisible(True)
else:
self.img = None
self.img_l.setVisible(False)
def set_text(self, text=None):
if text is not None:
self.text = text
self.text_l.setText(str(self.text))
self.text_l.setVisible(True)
else:
self.text = None
self.text_l.setVisible(False)
def set_widget(self, widget=None):
if widget is not None:
replace_widget(self, "widget", widget)
# widget attributes passtrough passtrough
2022-06-22 15:18:29 +00:00
for attr in ["ok", "ko", "start"]:
2022-06-01 16:37:19 +00:00
if hasattr(self.widget, attr):
setattr(self, attr, getattr(self.widget, attr))
else:
if hasattr(self, attr):
delattr(self, attr)
self.widget.setVisible(True)
else:
self.widget.setVisible(False)
def resizeEvent(self, event=None):
if self.img is not None:
self.img_l.setPixmap(self.img.scaled(self.img_l.width(), self.img_l.height(), Qt.KeepAspectRatio, Qt.SmoothTransformation))