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-28 10:31:27 +00:00
|
|
|
for attr in ["ok", "ko", "start", "stop"]:
|
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))
|