def create_item(self, widget_config, grid, row_index):
widget_config.widget_title = QtGui.QLabel(self.form)
widget_config.widget_title.setText("%s : " % widget_config.show_name)
if widget_config.type == float and not hasattr(widget_config, 'step'):
widget_config.widget = QtGui.QLabel(self.form)
widget_config.widget.setText("%f" % self.get_property_value(widget_config.name))
elif widget_config.type == float:
widget_config.widget = QtGui.QDoubleSpinBox(self.form)
widget_config.widget.setDecimals(widget_config.decimals)
widget_config.widget.setSingleStep(widget_config.step)
widget_config.widget.setMinimum(widget_config.interval_value[0])
widget_config.widget.setValue(self.get_property_value(widget_config.name))
widget_config.widget.setMaximum(widget_config.interval_value[-1])
elif widget_config.type == bool:
widget_config.widget = QtGui.QCheckBox("", self.form)
state = QtCore.Qt.Checked if self.get_property_value(widget_config.name) == True else QtCore.Qt.Unchecked
widget_config.widget.setCheckState(state)
elif widget_config.type == list:
widget_config.widget = QtGui.QComboBox(self.form)
widget_config.widget.addItems(widget_config.interval_value)
default_value_index = 0
for str_value in widget_config.interval_value:
if self.get_property_value(widget_config.name) == str_value:
break
default_value_index += 1
if default_value_index == len(widget_config.interval_value):
raise ValueError("Default value not found for list" + widget_config.name)
widget_config.widget.setCurrentIndex(default_value_index)
widget_config.widget.currentIndexChanged.connect(self.listchangeIndex)
elif widget_config.type == str:
widget_config.widget = QtGui.QLineEdit(self.form)
widget_config.widget.setText(self.get_property_value(widget_config.name))
else:
raise ValueError("Undefined widget type")
grid.addWidget(widget_config.widget_title, row_index, 0)
grid.addWidget(widget_config.widget, row_index, 1)
评论列表
文章目录