def __init__(self, tab_widget, log_box, clear_log_button, copy_log_button): self.tab_widget = tab_widget self.log = log_box self.log_tab = self.tab_widget.findChild(QWidget, 'log_tab') self.log_tab_idx = self.tab_widget.indexOf(self.log_tab) self.color = { 'base': self.tab_widget.tabBar().tabTextColor(self.log_tab_idx), 'gold': QtGui.QColor(255, 191, 0) } self.current_color = self.color['base'] self.blink_status = False self.log.setTabStopWidth( QtGui.QFontMetricsF(self.log.font()).width(' ') * 6) # self.tab_widget.tabBar().setStyleSheet('background-color: yellow') # Connect Log Functions self.tab_widget.currentChanged.connect(self._tab_widget_change) clear_log_button.clicked.connect(self.clear) copy_log_button.clicked.connect(self.copy)
def _draw_limits(self, painter, upper_k, lower_k): painter.save() painter.setPen(self.BASE_PEN) w, h = self.width(), self.height() font_metric = QtGui.QFontMetricsF(painter.font()) font_h = font_metric.height() start_h = (h - font_h) / 2.0 upper_str = "{:.3f}".format(upper_k) lower_str = "{:.3f}".format(lower_k) lower_str_w = font_metric.horizontalAdvance(lower_str) lower_rect = QtCore.QRectF(1, start_h, lower_str_w, font_h) painter.drawText(lower_rect, lower_str) upper_str_w = font_metric.horizontalAdvance(upper_str) upper_rect = QtCore.QRectF(w - lower_str_w - 1, start_h, upper_str_w, font_h) painter.drawText(upper_rect, upper_str) painter.restore()