slcan_cli.py 文件源码

python
阅读 18 收藏 0 点赞 0 评论 0

项目:gui_tool 作者: UAVCAN 项目源码 文件源码
def __init__(self, parent, model, cli_iface, store_callback):
        super(ConfigParamEditWindow, self).__init__(parent)
        self.setAttribute(Qt.WA_DeleteOnClose)
        self.setWindowTitle('Edit Parameter')
        self.setModal(True)

        self._model = model
        self._cli_iface = cli_iface
        self._store_callback = store_callback

        name_label = QLabel(model.name, self)
        name_label.setFont(get_monospace_font())

        if model.type is bool:
            self._value = QCheckBox(self)
            self._value.setChecked(model.value)
        elif model.type is int:
            self._value = QSpinBox(self)
            if model.minimum is not None:
                self._value.setRange(model.minimum,
                                     model.maximum)
            else:
                self._value.setRange(-0x80000000,
                                     +0x7FFFFFFF)
            self._value.setValue(model.value)
        elif model.type is float:
            self._value = QDoubleSpinBox(self)
            if model.minimum is not None:
                self._value.setRange(model.minimum,
                                     model.maximum)
            else:
                self._value.setRange(-3.4028235e+38,
                                     +3.4028235e+38)
            self._value.setValue(model.value)
        elif model.type is str:
            self._value = QLineEdit(self)
            self._value.setText(model.value)
        else:
            raise ValueError('Unsupported value type %r' % model.type)

        self._ok_button = make_icon_button('check', 'Send changes to the device', self,
                                           text='OK', on_clicked=self._do_ok)

        self._cancel_button = make_icon_button('remove', 'Discard changes and close this window', self,
                                               text='Cancel', on_clicked=self.close)

        layout = QVBoxLayout(self)

        value_layout = QHBoxLayout(self)
        value_layout.addWidget(name_label)
        value_layout.addWidget(self._value, 1)

        controls_layout = QHBoxLayout(self)
        controls_layout.addWidget(self._cancel_button)
        controls_layout.addWidget(self._ok_button)

        layout.addLayout(value_layout)
        layout.addLayout(controls_layout)
        self.setLayout(layout)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号