def get_gauge(self, parent, macros): aux = [] for k, v in macros.items(): aux.append('{}\t{}\n'.format(k, v)) tooltip = ''.join(aux) width = 320 height = 100 frame = QFrame(parent) frame.setGeometry(QRect(10, 10, width, height)) frame.setMinimumSize(width, height) frame.setFrameShape(QFrame.StyledPanel) frame.setFrameShadow(QFrame.Raised) frame.setObjectName("frame") brush = QBrush(QColor(180, 180, 180)) brush.setStyle(Qt.NoBrush) alarmRec = PyDMDrawingRectangle(frame) alarmRec.channel = "ca://{}".format(macros.get('ALARM', None)) alarmRec.setGeometry(QRect(0, 0, width, height)) alarmRec.setToolTip(tooltip) alarmRec.setProperty("alarmSensitiveContent", True) alarmRec.setProperty("brush", brush) alarmRec.setObjectName("alarmRec") # alarmRec.setStyleSheet("margin:5px; border:3px solid rgb(0, 0, 0);") lblName = QLabel(frame) lblName.setGeometry(QRect(width * 0.05, 50, width - width * 0.05, 20)) font = QFont() font.setPointSize(12) lblName.setFont(font) lblName.setAlignment(Qt.AlignCenter) lblName.setText("{}".format(macros.get('DISP', None))) lblName.setObjectName("lblName") lblName.setToolTip(tooltip) lblVal = PyDMLabel(frame) lblVal.setGeometry(QRect(width * 0.05, 10, width - width * 0.05, 30)) font = QFont() font.setPointSize(18) lblVal.setFont(font) lblVal.setToolTip(tooltip) lblVal.setAlignment(Qt.AlignCenter) lblVal.setProperty("showUnits", False) lblVal.setObjectName("lblVal") lblVal.channel = "ca://{}".format(macros.get('PV', None)) lblVal.precisionFromPV = False lblVal.precision = 2 if self.macros.get('FORMAT', '') == 'EXP': lblVal.displayFormat = PyDMLabel.DisplayFormat.Exponential return frame
def get_gauge(self, parent, pv_info: PVInfo): tooltip = "".join( [f"{key}\t{value}\n" for key, value in pv_info.__dict__.items()] ) width = 320 height = 100 frame = QFrame(parent) frame.setGeometry(QRect(10, 10, width, height)) frame.setMinimumSize(width, height) frame.setFrameShape(QFrame.StyledPanel) frame.setFrameShadow(QFrame.Raised) frame.setObjectName("frame") brush = QBrush(QColor(180, 180, 180)) brush.setStyle(Qt.NoBrush) alarmRec = PyDMDrawingRectangle(frame) alarmRec.channel = "ca://{}".format(pv_info.ALARM) alarmRec.setGeometry(QRect(0, 0, width, height)) alarmRec.setToolTip(tooltip) alarmRec.setProperty("alarmSensitiveContent", True) alarmRec.setProperty("brush", brush) alarmRec.setObjectName("alarmRec") # alarmRec.setStyleSheet("margin:5px; border:3px solid rgb(0, 0, 0);") lblName = QLabel(frame) lblName.setGeometry(QRect(width * 0.05, 50, width - width * 0.05, 20)) font = QFont() font.setPointSize(12) lblName.setFont(font) lblName.setAlignment(Qt.AlignCenter) lblName.setText("{}".format(pv_info.DISP)) lblName.setObjectName("lblName") lblName.setToolTip(tooltip) lblVal = PyDMLabel(frame) lblVal.setGeometry(QRect(width * 0.05, 10, width - width * 0.05, 30)) font = QFont() font.setPointSize(18) lblVal.setFont(font) lblVal.setToolTip(tooltip) lblVal.setAlignment(Qt.AlignCenter) lblVal.setProperty("showUnits", False) lblVal.setObjectName("lblVal") lblVal.channel = "ca://{}".format(pv_info.PV) lblVal.precisionFromPV = False lblVal.precision = 2 if self.macros().get("FORMAT", "") == "EXP": lblVal.displayFormat = PyDMLabel.DisplayFormat.Exponential return frame
def get_gauge(self, parent, pv): aux = [] for k, v in pv.items(): aux.append("{}\t{}\n".format(k, v)) tooltip = "".join(aux) width = 320 height = 100 frame = QFrame(parent) frame.setGeometry(QRect(10, 10, width, height)) frame.setMinimumSize(width, height) frame.setFrameShape(QFrame.StyledPanel) frame.setFrameShadow(QFrame.Raised) frame.setObjectName("frame") brush = QBrush(QColor(180, 180, 180)) brush.setStyle(Qt.NoBrush) alarmRec = PyDMDrawingRectangle(frame) alarmRec.channel = "ca://{}".format(pv.get("ALARM", None)) alarmRec.setGeometry(QRect(0, 0, width, height * 0.8)) alarmRec.setToolTip(tooltip) alarmRec.setProperty("alarmSensitiveContent", True) alarmRec.setProperty("brush", brush) alarmRec.setObjectName("alarmRec") alarmRecComm = PyDMDrawingRectangle(frame) alarmRecComm.channel = "ca://{}".format( pv.get("DEVICE", None) + ":Pressure:Read") alarmRecComm.setGeometry(QRect(0, height * 0.8, width, height * 0.2)) alarmRecComm.setToolTip("Connection Indicator: {}\t{}".format( "DEVICE", pv.get("DEVICE", None) + ":Pressure:Read")) alarmRecComm.setProperty("alarmSensitiveContent", True) alarmRecComm.setProperty("brush", brush) alarmRecComm.setObjectName("alarmRecComm") alarmRecComm.setStyleSheet(""" border:1px solid rgb(214, 214, 214); """) lblName = QLabel(frame) lblName.setGeometry(QRect(width * 0.05, 50, width - width * 0.05, 20)) font = QFont() font.setPointSize(12) lblName.setFont(font) lblName.setAlignment(Qt.AlignCenter) lblName.setText("{}".format(pv.get("DISP", None))) lblName.setObjectName("lblName") lblName.setToolTip(tooltip) font = QFont() font.setPointSize(12) lblComm = QLabel(frame) lblComm.setGeometry(QRect(10, 80, 190, 20)) lblComm.setFont(font) lblComm.setAlignment(Qt.AlignCenter) lblComm.setText("COMM Status") lblComm.setObjectName("lblComm") lblComm.setToolTip("Communication status to device {}".format( pv.get("DEVICE", ""))) lblCommPv = PyDMLabel(frame) lblCommPv.setGeometry(QRect(150, 80, 190, 20)) lblCommPv.setFont(font) lblCommPv.setToolTip("Communication status to device {}".format( pv.get("DEVICE", ""))) lblCommPv.setAlignment(Qt.AlignCenter) lblCommPv.setObjectName("lblCommPv") lblCommPv.channel = "ca://{}".format( pv.get("DEVICE", None) + ":Pressure:Read.STAT") lblVal = PyDMLabel(frame) lblVal.setGeometry(QRect(width * 0.05, 10, width - width * 0.05, 30)) font = QFont() font.setPointSize(18) lblVal.setFont(font) lblVal.setToolTip(tooltip) lblVal.setAlignment(Qt.AlignCenter) lblVal.setProperty("showUnits", False) lblVal.setObjectName("lblVal") lblVal.channel = "ca://{}".format(pv.get("PV", None)) lblVal.precisionFromPV = False lblVal.precision = 2 if self.macros.get("FORMAT", "") == "EXP": lblVal.displayFormat = PyDMLabel.DisplayFormat.Exponential return frame