def __init__(self, orentation=Qt.Vertical, parent=None): super(TriColorChannel, self).__init__(parent) self._red_bar = ColorChannelBar("#FF0000") self._green_bar = ColorChannelBar("#00FF00") self._blue_bar = ColorChannelBar("#0000FF") self._red_spin = QSpinBox() self._green_spin = QSpinBox() self._blue_spin = QSpinBox() self._hex_edit = ColorHexEdit() self._red_box = VBox(self._red_bar, self._red_spin) self._green_box = VBox(self._green_bar, self._green_spin) self._blue_box = VBox(self._blue_bar, self._blue_spin) self._tri_box = HBox(self._red_box, self._green_box, self._blue_box) self._main_box = VBox(self._hex_edit, self._tri_box) self._bar_width = None self._orentation = None self._spin_width = None self._value = None self._red_spin.setRange(0, 255) self._green_spin.setRange(0, 255) self._blue_spin.setRange(0, 255) self.bind_data() self.spin_width = 40 self.bar_width = 18 self.orentation = orentation self.value = [255, 255, 255] self.setLayout(self._main_box)
def __init__(self, parent=None): super(general_control, self).__init__(parent) self.prj_control = prj_control() self.map_control = map_control() self.shot_control = prj_control() self.next_pb = PushButtonPlus("Next >") self.prev_pb = PushButtonPlus("<") self.prev_pb.setFixedWidth(30) self.step_indicator = StepEditPlus() self.setAutoFillBackground(True) self.control_page = VBox(self.prj_control, self.map_control, self.shot_control, -1).setSpacing(20) self.setLayout( VBox(self.control_page, HBox(self.prev_pb, self.next_pb), self.step_indicator)) self.step_indicator.setValue(1) self.map_control.hide() self.shot_control.hide() self.next_pb.clicked.connect(self.next_page) self.prev_pb.clicked.connect(self.prev_page) self.load_stylesheet() self.resize(450, 800) self.setFixedWidth(400) self._current_page_index = 0 self._page_count = 3
def __init__(self, parent=None): super(DistributionWidget, self).__init__(parent) self._plot_widget1 = DistributionChartWidget() self._plot_widget2 = DistributionChartWidget() self._spec_h = QLineEdit() self._spec_tgt = QLineEdit() self._spec_l = QLineEdit() self._pb1 = QPushButton("set") self._bar_width = QLineEdit() self._pb2 = QPushButton("set") self._bar_offset = QLineEdit() self._pb3 = QPushButton("set") self._pb4 = QPushButton("set") self.setLayout( VBox( HBox(self._plot_widget1), #, self._plot_widget2), HBox(self._spec_h, self._spec_tgt, self._spec_l, self._pb1), HBox(self._bar_width, self._pb2), HBox(self._bar_offset, self._pb3), HBox(self._pb4))) self._pb1.clicked.connect(self.setSpec) self._pb2.clicked.connect(self.setBarWidth) self._pb3.clicked.connect(self.setBarSpacing) self._pb4.clicked.connect(self.setCrosshair) csv = pd.read_csv(r'C:\Users\rawr\Downloads\MOCK_DATA (4).csv') h, l = 45, 10 s1 = Statistic(data=csv.iloc[:, 3], spec_high=h, spec_low=l) s2 = Statistic(data=csv.iloc[:, 2], spec_high=h, spec_low=l) s3 = Statistic(data=csv.iloc[:, 1], spec_high=h, spec_low=l) s4 = Statistic(data=csv.iloc[:, 0], spec_high=h, spec_low=l) popt, pcov = self.f(s1) scale = 10 x = [i / scale for i in range(0 * scale, 50 * scale, 1)] self._plot_widget1.AddBarChart(self.g(s1)) self._plot_widget1.AddBarChart(self.g(s2)) self._plot_widget1.AddBarChart(self.g(s3)) self._plot_widget1.AddBarChart(self.g(s4)) self._plot_widget1.AddScatterCurveChart( [x, self.gauss_function(x, *popt)])
def __init__(self, parent=None): super(ColorHexEdit, self).__init__(parent) self._text = None self._value = None self._edit = ColorTextEdit() self._border_pen = QPen(QColor("#DD3399")) self._border_pen.setWidth(3) self.setLayout(HBox(self._edit)) self.setFixedSize(80, 80) self._edit.textChanged.connect(self.setText)
def __init__(self, parent=None): super(SelectDialog, self).__init__(parent) b = BrushSelectDrop() l = LineSelectDrop() f = FontSelectDrop() s = SizeSelectDrop() b.valueChanged.connect(lambda x : print(x)) b.buttonClicked.connect(lambda : print("main clicked")) b.dropClicked.connect(lambda : print("drop clicked")) l.valueChanged.connect(lambda x : print(x)) f.valueChanged.connect(lambda x : print(x)) s.valueChanged.connect(lambda x : print(x)) self.setLayout(VBox( HBox(QLabel("Brush:"), b), HBox(QLabel("Line:"), l), HBox(QLabel("Font:"), f), HBox(QLabel("Size:"), s) ))
def __init__(self, parent=None): super(ColorPopWidget, self).__init__(parent) k = QPushButton(">") k.setFixedSize(QSize(20, 20)) self.setLayout(VBox( ColorPalletLite(), HBox( ColorPalletCustom(), ColorTextEdit("FFAADA"), 5, k, 10 ).setContentsMargins(0, 0, 0, 0).setSpacing(0), -1 ).setContentsMargins(0, 0, 0, 0)) self.resize(200, 200)
def __init__(self, parent=None): super(MainWindow, self).__init__(parent) self.shot_view = DiagramView() self.wafer_view = DiagramView() self.shot_scene = GraphicScene(self.shot_view) self.wafer_scene = GraphicScene(self.wafer_view) self.control = general_control() self.control_dock = QDockWidget() self.control_dock.setAllowedAreas(Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea) self.control_dock.setWidget(self.control) self.control_dock.setFeatures(QDockWidget.NoDockWidgetFeatures) self.control_dock.setTitleBarWidget(QWidget()) self.addDockWidget(Qt.LeftDockWidgetArea, self.control_dock) self.shot_scene.setSceneRect(-wafer_rad, -wafer_rad, 2 * wafer_rad, 2 * wafer_rad) self.wafer_scene.setSceneRect(-wafer_rad, -wafer_rad, 2 * wafer_rad, 2 * wafer_rad) self.control.next_pb.clicked.connect(self.m) self.control.prev_pb.clicked.connect(self.n) self.shot_view.setScene(self.shot_scene) self.wafer_view.setScene(self.wafer_scene) w = QWidget() w.setLayout(HBox(self.shot_view, self.wafer_view)) self.setCentralWidget(w) self.shot_view.show() self.wafer_view.hide() self.wafer = None self.shot = None self.control.prj_control.valueChanged.connect(self.n) self.n() self.shot_view.centerOn(0, 0) self.shot_view.setRenderHints(QPainter.HighQualityAntialiasing | QPainter.SmoothPixmapTransform) self.wafer_view.centerOn(0, 0) self.wafer_view.setRenderHints(QPainter.HighQualityAntialiasing | QPainter.SmoothPixmapTransform) self.setWindowTitle("Fake Wafer Map") self.resize(1250, 700)
def __init__(self, parent=None): super(ColorDialog, self).__init__(parent) self._value = None self.color_selector = ColorSelector() self.tri_color_channel = TriColorChannel(orentation=Qt.Horizontal) self.confirm_pb = QPushButton("OK") self.cancel_pb = QPushButton("Cancle") v1 = VBox(self.color_selector, self.tri_color_channel) h1 = HBox(-1, self.confirm_pb, self.cancel_pb) v2 = VBox(v1, h1) self.color_selector.valueChanged.connect(self.setValue) self.tri_color_channel.valueChanged.connect(self.setValue) self.valueChanged.connect(self.tri_color_channel.setValue) self.confirm_pb.clicked.connect(self.close) self.cancel_pb.clicked.connect(self.close) self.setLayout(v2) self.resize(400, 500)
class TriColorChannel(QWidget): valueChanged = pyqtSignal(list) def __init__(self, orentation=Qt.Vertical, parent=None): super(TriColorChannel, self).__init__(parent) self._red_bar = ColorChannelBar("#FF0000") self._green_bar = ColorChannelBar("#00FF00") self._blue_bar = ColorChannelBar("#0000FF") self._red_spin = QSpinBox() self._green_spin = QSpinBox() self._blue_spin = QSpinBox() self._hex_edit = ColorHexEdit() self._red_box = VBox(self._red_bar, self._red_spin) self._green_box = VBox(self._green_bar, self._green_spin) self._blue_box = VBox(self._blue_bar, self._blue_spin) self._tri_box = HBox(self._red_box, self._green_box, self._blue_box) self._main_box = VBox(self._hex_edit, self._tri_box) self._bar_width = None self._orentation = None self._spin_width = None self._value = None self._red_spin.setRange(0, 255) self._green_spin.setRange(0, 255) self._blue_spin.setRange(0, 255) self.bind_data() self.spin_width = 40 self.bar_width = 18 self.orentation = orentation self.value = [255, 255, 255] self.setLayout(self._main_box) def bind_data(self): self.valueChanged.connect(lambda val: self._red_spin.setValue(val[0])) self.valueChanged.connect( lambda val: self._green_spin.setValue(val[1])) self.valueChanged.connect(lambda val: self._blue_spin.setValue(val[2])) self.valueChanged.connect(lambda val: self._hex_edit.setValue(val)) self._hex_edit.valueChanged.connect(lambda val: self.setValue(val)) self._red_spin.valueChanged.connect(lambda val: self.setRed(val)) self._green_spin.valueChanged.connect(lambda val: self.setGreen(val)) self._blue_spin.valueChanged.connect(lambda val: self.setBlue(val)) self._red_spin.valueChanged.connect( lambda val: self._red_bar.setValue(val / 255)) self._green_spin.valueChanged.connect( lambda val: self._green_bar.setValue(val / 255)) self._blue_spin.valueChanged.connect( lambda val: self._blue_bar.setValue(val / 255)) self._red_bar.valueChanged.connect( lambda val: self._red_spin.setValue(int(val * 255))) self._green_bar.valueChanged.connect( lambda val: self._green_spin.setValue(int(val * 255))) self._blue_bar.valueChanged.connect( lambda val: self._blue_spin.setValue(int(val * 255))) def setValue(self, value): self.value = value def setRed(self, r): self.red = r def setGreen(self, g): self.green = g def setBlue(self, b): self.blue = b @property def value(self): return self._value @value.setter def value(self, vals): if len(vals) == 3 and all([0 <= val <= 255 for val in vals]): if not (vals == self._value): self._value = vals self.valueChanged.emit(vals) self.update() @property def red(self): return self.value[0] @red.setter def red(self, r): self.value = [r, self.value[1], self.value[2]] @property def green(self): return self.value[1] @green.setter def green(self, g): self.value = [self.value[0], g, self.value[2]] @property def blue(self): return self.value[2] @blue.setter def blue(self, b): self.value = [self.value[0], self.value[1], b] @property def orentation(self): return self._orentation @orentation.setter def orentation(self, orentation): if orentation in [Qt.Vertical, Qt.Horizontal]: if not (orentation == self._orentation): if orentation == Qt.Vertical: self._red_bar.orentation = Qt.Vertical self._green_bar.orentation = Qt.Vertical self._blue_bar.orentation = Qt.Vertical self._red_box.setDirection(QBoxLayout.TopToBottom) self._green_box.setDirection(QBoxLayout.TopToBottom) self._blue_box.setDirection(QBoxLayout.TopToBottom) self._tri_box.setDirection(QBoxLayout.LeftToRight) self._main_box.setDirection(QBoxLayout.TopToBottom) self._red_box.setAlignment(self._red_bar, Qt.AlignHCenter) self._green_box.setAlignment(self._green_bar, Qt.AlignHCenter) self._blue_box.setAlignment(self._blue_bar, Qt.AlignHCenter) self._main_box.setAlignment(self._hex_edit, Qt.AlignHCenter) self.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.MinimumExpanding) elif orentation == Qt.Horizontal: self._red_bar.orentation = Qt.Horizontal self._green_bar.orentation = Qt.Horizontal self._blue_bar.orentation = Qt.Horizontal self._red_box.setDirection(QBoxLayout.LeftToRight) self._green_box.setDirection(QBoxLayout.LeftToRight) self._blue_box.setDirection(QBoxLayout.LeftToRight) self._tri_box.setDirection(QBoxLayout.TopToBottom) self._main_box.setDirection(QBoxLayout.LeftToRight) self._red_box.setAlignment(self._red_bar, Qt.AlignVCenter) self._green_box.setAlignment(self._green_bar, Qt.AlignVCenter) self._blue_box.setAlignment(self._blue_bar, Qt.AlignVCenter) self._main_box.setAlignment(self._hex_edit, Qt.AlignVCenter) self.setSizePolicy(QSizePolicy.MinimumExpanding, QSizePolicy.Fixed) self._orentation = orentation self.bar_width = self._bar_width self.update() @property def bar_width(self): return self._bar_width @bar_width.setter def bar_width(self, width): if (isinstance(width, numbers.Number) and width > 0): bars = [self._red_bar, self._green_bar, self._blue_bar] _ = [bar.resize(bar.sizeHint()) for bar in bars] self._red_bar.adjustSize() if self._orentation == Qt.Vertical: _ = [bar.setFixedWidth(width) for bar in bars] elif self._orentation == Qt.Horizontal: _ = [bar.setFixedHeight(width) for bar in bars] self._bar_width = width else: raise TypeError("%s TypeError: %s" % (inspect.stack()[1].function, width)) @property def spin_width(self): return self._spin_width @spin_width.setter def spin_width(self, width): if (isinstance(width, numbers.Number) and width > 0): spins = [self._red_spin, self._green_spin, self._blue_spin] _ = [spin.setFixedWidth(width) for spin in spins] self._spin_width = width else: raise TypeError("%s TypeError: %s" % (inspect.stack()[1].function, width))