def create_range_setting(self, name):
hlayout = QtGui.QHBoxLayout()
setting = self.get_setting(name)
button = None
if setting.button:
button = QtGui.QPushButton(setting.button)
button.clicked.connect(lambda: setting.button_callback(button))
slider = QtGui.QSlider(QtCore.Qt.Orientation.Horizontal)
slider.setRange(setting.min, setting.max)
slider.valueChanged.connect(self.call_with_object('setting_changed',
slider, setting))
slider.setMinimumWidth(60)
slider.setObjectName(setting.name)
slider.setValue(setting.default_value)
slider.setStatusTip(setting.description)
slider.setToolTip(setting.description)
range_label = QtGui.QLabel(str(setting.default_value))
range_label.setMaximumWidth(45)
slider.valueChanged.connect(self.call_with_object('_update_range_label',
range_label, setting))
w = QtGui.QWidget()
whlayout = QtGui.QHBoxLayout()
whlayout.addWidget(slider)
whlayout.addWidget(range_label)
w.setLayout(whlayout)
hlayout.addWidget(w)
return hlayout
评论列表
文章目录