def __init__(self, parent=None, node=None): super(NodePropWidget, self).__init__(parent) self.__node_id = node.id self.__tab_windows = {} self.__tab = QtWidgets.QTabWidget() close_btn = QtWidgets.QPushButton('X') close_btn.setToolTip('close property') close_btn.clicked.connect(self._on_close) self.name_wgt = PropLineEdit() self.name_wgt.setToolTip('name') self.name_wgt.set_value(node.name()) self.name_wgt.value_changed.connect(self._on_property_changed) self.type_wgt = QtWidgets.QLabel(node.type_) self.type_wgt.setAlignment(QtCore.Qt.AlignRight) self.type_wgt.setToolTip('type_') font = self.type_wgt.font() font.setPointSize(10) self.type_wgt.setFont(font) name_layout = QtWidgets.QHBoxLayout() name_layout.setContentsMargins(0, 0, 0, 0) name_layout.addWidget(QtWidgets.QLabel('name')) name_layout.addWidget(self.name_wgt) name_layout.addWidget(close_btn) layout = QtWidgets.QVBoxLayout(self) layout.setSpacing(4) layout.addLayout(name_layout) layout.addWidget(self.__tab) layout.addWidget(self.type_wgt) self._read_node(node)
def add_widget(self, name, widget, value, label=None): """ Add a property widget to the window. Args: name (str): property name to be displayed. widget (BaseProperty): property widget. value (object): property value. label (str): custom label to display. """ widget.setToolTip(name) widget.set_value(value) if label is None: label = name row = self.__layout.rowCount() if row > 0: row += 1 label = QtWidgets.QLabel(label) label_flags = QtCore.Qt.AlignCenter | QtCore.Qt.AlignRight if widget.__class__.__name__ == 'PropTextEdit': label_flags = label_flags | QtCore.Qt.AlignTop elif widget.__class__.__name__ == 'PropButton': label.setVisible(False) widget.setText(name) self.__layout.addWidget(label, row, 0, label_flags) self.__layout.addWidget(widget, row, 1)
def __init__(self, parent=None): super(PropColorPicker, self).__init__(parent) self._color = (0, 0, 0) self._label = QtWidgets.QLabel() self._button = QtWidgets.QPushButton() self._update_color() self._button.clicked.connect(self._on_select_color) layout = QtWidgets.QHBoxLayout(self) layout.setContentsMargins(0, 0, 8, 0) layout.setSpacing(4) layout.addWidget(self._label, 0, QtCore.Qt.AlignCenter) layout.addWidget(self._button, 1, QtCore.Qt.AlignLeft)
def __init__(self, parent=None): super(PropColorPicker, self).__init__(parent) self._solid = _ColorSolid(self) self._solid.setMaximumHeight(15) self._label = QtWidgets.QLabel() self._update_label() button = QtWidgets.QPushButton('select color') button.clicked.connect(self._on_select_color) layout = QtWidgets.QHBoxLayout(self) layout.setContentsMargins(0, 0, 8, 0) layout.setSpacing(4) layout.addWidget(self._solid, 0, QtCore.Qt.AlignCenter) layout.addWidget(self._label, 0, QtCore.Qt.AlignCenter) layout.addWidget(button, 1, QtCore.Qt.AlignLeft)
def add_widget(self, name, widget, value, label=None): """ Add a property widget to the window. Args: name (str): property name to be displayed. widget (BaseProperty): property widget. value (object): property value. label (str): custom label to display. """ widget.setToolTip(name) widget.set_value(value) if label is None: label = name row = self.__layout.rowCount() if row > 0: row += 1 self.__layout.addWidget(QtWidgets.QLabel(label), row, 0, QtCore.Qt.AlignCenter | QtCore.Qt.AlignRight) self.__layout.addWidget(widget, row, 1)