本文整理汇总了Python中PyQt5.QtWidgets.QSlider.setPageStep方法的典型用法代码示例。如果您正苦于以下问题:Python QSlider.setPageStep方法的具体用法?Python QSlider.setPageStep怎么用?Python QSlider.setPageStep使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PyQt5.QtWidgets.QSlider
的用法示例。
在下文中一共展示了QSlider.setPageStep方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: OutputWidget
# 需要导入模块: from PyQt5.QtWidgets import QSlider [as 别名]
# 或者: from PyQt5.QtWidgets.QSlider import setPageStep [as 别名]
class OutputWidget(QWidget):
Sections = {}
def __init__(self, conf, parent=None):
super().__init__(parent)
# Import here for avoid circular import
if len(self.Sections) == 0:
from lisp.gst import settings
OutputWidget.Sections = settings.sections_by_element_name()
self._conf = conf
self.gridLayout = QGridLayout(self)
self.outputType = QLabel(self)
self.outputType.setAlignment(Qt.AlignCenter)
self.outputType.setText(conf['name'])
self.gridLayout.addWidget(self.outputType, 0, 0, 1, 2)
self.sinkSettings = QPushButton('Settings', self)
self.sinkSettings.setEnabled(self._conf['name'] in self.Sections)
self.sinkSettings.setIcon(QIcon.fromTheme('settings'))
self.gridLayout.addWidget(self.sinkSettings, 0, 2)
self.mute = QMuteButton(self)
self.mute.setMute(conf.get('mute', False))
self.gridLayout.addWidget(self.mute, 1, 0)
self.volume = QSlider(Qt.Horizontal, self)
self.volume.setRange(-100, 0)
self.volume.setPageStep(1)
volume = linear_to_db(conf.get('volume', 1))
self.volume.setValue(volume)
self.gridLayout.addWidget(self.volume, 1, 1)
self.volumeLabel = QLabel(self)
self.volumeLabel.setText(str(volume) + ' dB')
self.volumeLabel.setAlignment(Qt.AlignCenter)
self.gridLayout.addWidget(self.volumeLabel, 1, 2)
self.volume.valueChanged.connect(self._volume_changed)
self.sinkSettings.clicked.connect(self._settings)
def get_settings(self):
self._conf['volume'] = db_to_linear(self.volume.value())
self._conf['mute'] = self.mute.isMute()
return self._conf
def _volume_changed(self, value):
self.volumeLabel.setText(str(value) + ' dB')
def _settings(self):
dialog = SettingsDialog(self.Sections[self._conf['name']], self._conf)
dialog.exec_()
if dialog.result() == dialog.Accepted:
self._conf.update(dialog.get_settings())
示例2: SpeedSettings
# 需要导入模块: from PyQt5.QtWidgets import QSlider [as 别名]
# 或者: from PyQt5.QtWidgets.QSlider import setPageStep [as 别名]
class SpeedSettings(SettingsSection):
NAME = 'Speed'
ELEMENT = Speed
def __init__(self, size, Id, parent=None):
super().__init__(size, parent)
self.id = Id
self.groupBox = QGroupBox(self)
self.groupBox.setGeometry(0, 0, self.width(), 80)
self.layout = QHBoxLayout(self.groupBox)
self.speedSlider = QSlider(self.groupBox)
self.speedSlider.setMinimum(1)
self.speedSlider.setMaximum(1000)
self.speedSlider.setPageStep(1)
self.speedSlider.setValue(100)
self.speedSlider.setOrientation(QtCore.Qt.Horizontal)
self.speedSlider.setTickPosition(QSlider.TicksAbove)
self.speedSlider.setTickInterval(10)
self.layout.addWidget(self.speedSlider)
self.speedLabel = QLabel(self.groupBox)
self.speedLabel.setAlignment(QtCore.Qt.AlignCenter)
self.layout.addWidget(self.speedLabel)
self.layout.setStretch(0, 3)
self.layout.setStretch(1, 1)
self.speedSlider.valueChanged.connect(self.speedChanged)
self.retranslateUi()
def retranslateUi(self):
self.groupBox.setTitle("Speed")
self.speedLabel.setText("1.0")
def enable_check(self, enable):
self.groupBox.setCheckable(enable)
self.groupBox.setChecked(False)
def get_configuration(self):
conf = {}
if not (self.groupBox.isCheckable() and not self.groupBox.isChecked()):
conf[self.id] = {'speed': self.speedSlider.value() / 100}
return conf
def set_configuration(self, conf):
if conf is not None and self.id in conf:
self.speedSlider.setValue(conf[self.id]['speed'] * 100)
def speedChanged(self, value):
self.speedLabel.setText(str(value / 100.0))
示例3: AudioPanSettings
# 需要导入模块: from PyQt5.QtWidgets import QSlider [as 别名]
# 或者: from PyQt5.QtWidgets.QSlider import setPageStep [as 别名]
class AudioPanSettings(SettingsSection):
NAME = "Pan"
ELEMENT = AudioPan
def __init__(self, size, Id, parent=None):
super().__init__(size, parent)
self.id = Id
self.panBox = QGroupBox(self)
self.panBox.setGeometry(0, 0, self.width(), 80)
self.panBox.setLayout(QHBoxLayout(self.panBox))
self.panSlider = QSlider(self.panBox)
self.panSlider.setRange(-10, 10)
self.panSlider.setPageStep(1)
self.panSlider.setOrientation(Qt.Horizontal)
self.panSlider.valueChanged.connect(self.pan_changed)
self.panBox.layout().addWidget(self.panSlider)
self.panLabel = QLabel(self.panBox)
self.panLabel.setAlignment(Qt.AlignCenter)
self.panBox.layout().addWidget(self.panLabel)
self.panBox.layout().setStretch(0, 5)
self.panBox.layout().setStretch(1, 1)
self.retransaleUi()
def retransaleUi(self):
self.panBox.setTitle("Audio Pan")
self.panLabel.setText("Center")
def enable_check(self, enable):
self.panBox.setCheckable(enable)
self.panBox.setChecked(False)
def get_configuration(self):
conf = {}
if not (self.panBox.isCheckable() and not self.panBox.isChecked()):
conf["panorama"] = self.panSlider.value() / 10
return {self.id: conf}
def set_configuration(self, conf):
if conf is not None and self.id in conf:
self.panSlider.setValue(conf[self.id]["panorama"] * 10)
def pan_changed(self, value):
if value < 0:
self.panLabel.setText("Left")
elif value > 0:
self.panLabel.setText("Right")
else:
self.panLabel.setText("Center")
示例4: createSlider
# 需要导入模块: from PyQt5.QtWidgets import QSlider [as 别名]
# 或者: from PyQt5.QtWidgets.QSlider import setPageStep [as 别名]
def createSlider(self):
slider = QSlider(Qt.Vertical)
slider.setRange(0, 360 * 16)
slider.setSingleStep(16)
slider.setPageStep(15 * 16)
slider.setTickInterval(15 * 16)
slider.setTickPosition(QSlider.TicksRight)
return slider
示例5: createZoomSlider
# 需要导入模块: from PyQt5.QtWidgets import QSlider [as 别名]
# 或者: from PyQt5.QtWidgets.QSlider import setPageStep [as 别名]
def createZoomSlider(self):
slider = QSlider(Qt.Vertical)
slider.setRange(1, 1000000)
slider.setSingleStep(1)
slider.setPageStep(10)
slider.setTickInterval(10)
slider.setTickPosition(QSlider.TicksRight)
return slider
示例6: AudioPanSettings
# 需要导入模块: from PyQt5.QtWidgets import QSlider [as 别名]
# 或者: from PyQt5.QtWidgets.QSlider import setPageStep [as 别名]
class AudioPanSettings(GstElementSettingsPage):
NAME = 'Pan'
ELEMENT = AudioPan
def __init__(self, element_id, **kwargs):
super().__init__(element_id)
self.setLayout(QVBoxLayout())
self.layout().setAlignment(Qt.AlignTop)
self.panBox = QGroupBox(self)
self.panBox.setGeometry(0, 0, self.width(), 80)
self.panBox.setLayout(QHBoxLayout(self.panBox))
self.layout().addWidget(self.panBox)
self.panSlider = QSlider(self.panBox)
self.panSlider.setRange(-10, 10)
self.panSlider.setPageStep(1)
self.panSlider.setOrientation(Qt.Horizontal)
self.panSlider.valueChanged.connect(self.pan_changed)
self.panBox.layout().addWidget(self.panSlider)
self.panLabel = QLabel(self.panBox)
self.panLabel.setAlignment(Qt.AlignCenter)
self.panBox.layout().addWidget(self.panLabel)
self.panBox.layout().setStretch(0, 5)
self.panBox.layout().setStretch(1, 1)
self.retransaleUi()
def retransaleUi(self):
self.panBox.setTitle('Audio Pan')
self.panLabel.setText('Center')
def enable_check(self, enable):
self.panBox.setCheckable(enable)
self.panBox.setChecked(False)
def get_settings(self):
conf = {}
if not (self.panBox.isCheckable() and not self.panBox.isChecked()):
conf['pan'] = self.panSlider.value() / 10
return {self.id: conf}
def load_settings(self, settings):
if settings is not None and self.id in settings:
self.panSlider.setValue(settings[self.id]['pan'] * 10)
def pan_changed(self, value):
position = 'Left' if value < 0 else 'Right' if value > 0 else 'Center'
self.panLabel.setText('{0} - {1}'.format(value, position))
示例7: createSlider
# 需要导入模块: from PyQt5.QtWidgets import QSlider [as 别名]
# 或者: from PyQt5.QtWidgets.QSlider import setPageStep [as 别名]
def createSlider(self, changedSignal, setterSlot):
slider = QSlider(Qt.Horizontal)
slider.setRange(0, 360 * 16)
slider.setSingleStep(16)
slider.setPageStep(15 * 16)
slider.setTickInterval(15 * 16)
slider.setTickPosition(QSlider.TicksRight)
slider.valueChanged.connect(setterSlot)
changedSignal.connect(slider.setValue)
return slider
示例8: Slider
# 需要导入模块: from PyQt5.QtWidgets import QSlider [as 别名]
# 或者: from PyQt5.QtWidgets.QSlider import setPageStep [as 别名]
class Slider(QSlider):
def __init__(self, lower, upper, step_size, default):
super(Slider, self).__init__()
self.slider = QSlider(Qt.Horizontal)
self.slider.setFocusPolicy(Qt.StrongFocus)
self.slider.setTickPosition(QSlider.TicksBothSides)
self.slider.setTickInterval(step_size)
self.slider.setRange(lower, upper)
self.slider.setSingleStep(step_size)
self.slider.setValue(default)
self.slider.setPageStep(step_size)
示例9: Slider
# 需要导入模块: from PyQt5.QtWidgets import QSlider [as 别名]
# 或者: from PyQt5.QtWidgets.QSlider import setPageStep [as 别名]
class Slider(QSlider):
"""
A customized QSlider that is used by the SliderWidget to allow users to change a certain setting.
"""
def __init__(self, lower, upper, step_size, default):
super(Slider, self).__init__()
self.slider = QSlider(Qt.Horizontal)
self.slider.setFocusPolicy(Qt.StrongFocus)
self.slider.setTickPosition(QSlider.TicksBothSides)
self.slider.setTickInterval(step_size)
self.slider.setRange(lower, upper)
self.slider.setSingleStep(step_size)
self.slider.setValue(default)
self.slider.setPageStep(step_size)
示例10: __init__
# 需要导入模块: from PyQt5.QtWidgets import QSlider [as 别名]
# 或者: from PyQt5.QtWidgets.QSlider import setPageStep [as 别名]
def __init__(self, size, Id, parent=None):
super().__init__(size, parent)
self.id = Id
self.groupBox = QGroupBox(self)
self.groupBox.resize(self.size())
self.groupBox.setTitle("10 Bands Equalizer (IIR)")
self.gridLayout = QGridLayout(self.groupBox)
self.sliders = {}
for n in range(10):
label = QLabel(self.groupBox)
width = QFontMetrics(label.font()).width('000')
label.setMinimumWidth(width)
label.setAlignment(QtCore.Qt.AlignCenter)
label.setNum(0)
self.gridLayout.addWidget(label, 0, n)
slider = QSlider(self.groupBox)
slider.setRange(-24, 12)
slider.setPageStep(1)
slider.setValue(0)
slider.setOrientation(QtCore.Qt.Vertical)
slider.valueChanged.connect(label.setNum)
self.gridLayout.addWidget(slider, 1, n)
self.gridLayout.setAlignment(slider, QtCore.Qt.AlignHCenter)
self.sliders["band" + str(n)] = slider
fLabel = QVerticalLabel(self.groupBox)
fLabel.setAlignment(QtCore.Qt.AlignCenter)
fLabel.setText(self.FREQ[n])
self.gridLayout.addWidget(fLabel, 2, n)
self.gridLayout.setRowStretch(0, 1)
self.gridLayout.setRowStretch(1, 10)
self.gridLayout.setRowStretch(2, 1)
示例11: __init__
# 需要导入模块: from PyQt5.QtWidgets import QSlider [as 别名]
# 或者: from PyQt5.QtWidgets.QSlider import setPageStep [as 别名]
def __init__(self, element_id, **kwargs):
super().__init__(element_id)
self.setLayout(QVBoxLayout())
self.layout().setAlignment(Qt.AlignTop)
self.groupBox = QGroupBox(self)
self.groupBox.resize(self.size())
self.groupBox.setTitle("10 Bands Equalizer (IIR)")
self.groupBox.setLayout(QGridLayout())
self.groupBox.layout().setVerticalSpacing(0)
self.layout().addWidget(self.groupBox)
self.sliders = {}
for n in range(10):
label = QLabel(self.groupBox)
label.setMinimumWidth(QFontMetrics(label.font()).width('000'))
label.setAlignment(QtCore.Qt.AlignCenter)
label.setNum(0)
self.groupBox.layout().addWidget(label, 0, n)
slider = QSlider(self.groupBox)
slider.setRange(-24, 12)
slider.setPageStep(1)
slider.setValue(0)
slider.setOrientation(QtCore.Qt.Vertical)
slider.valueChanged.connect(label.setNum)
self.groupBox.layout().addWidget(slider, 1, n)
self.groupBox.layout().setAlignment(slider, QtCore.Qt.AlignHCenter)
self.sliders["band" + str(n)] = slider
fLabel = QLabel(self.groupBox)
fLabel.setStyleSheet('font-size: 8pt;')
fLabel.setAlignment(QtCore.Qt.AlignCenter)
fLabel.setText(self.FREQ[n])
self.groupBox.layout().addWidget(fLabel, 2, n)
示例12: VolumeSettings
# 需要导入模块: from PyQt5.QtWidgets import QSlider [as 别名]
# 或者: from PyQt5.QtWidgets.QSlider import setPageStep [as 别名]
class VolumeSettings(GstElementSettingsPage):
NAME = "Volume"
ELEMENT = Volume
def __init__(self, element_id, **kwargs):
super().__init__(element_id)
self.setLayout(QVBoxLayout())
self.layout().setAlignment(Qt.AlignTop)
self.normal = 1
self.volumeBox = QGroupBox(self)
self.volumeBox.setLayout(QHBoxLayout())
self.layout().addWidget(self.volumeBox)
self.muteButton = QMuteButton(self.volumeBox)
self.volumeBox.layout().addWidget(self.muteButton)
self.volume = QSlider(self.volumeBox)
self.volume.setRange(-1000, 100)
self.volume.setPageStep(1)
self.volume.setOrientation(Qt.Horizontal)
self.volume.valueChanged.connect(self.volume_changed)
self.volumeBox.layout().addWidget(self.volume)
self.volumeLabel = QLabel(self.volumeBox)
self.volumeLabel.setAlignment(Qt.AlignCenter)
self.volumeBox.layout().addWidget(self.volumeLabel)
self.volumeBox.layout().setStretch(0, 1)
self.volumeBox.layout().setStretch(1, 4)
self.volumeBox.layout().setStretch(2, 1)
self.normalBox = QGroupBox(self)
self.normalBox.setLayout(QHBoxLayout())
self.layout().addWidget(self.normalBox)
self.normalLabel = QLabel(self.normalBox)
self.normalLabel.setAlignment(Qt.AlignCenter)
self.normalBox.layout().addWidget(self.normalLabel)
self.normalReset = QCheckBox(self.normalBox)
self.normalBox.layout().addWidget(self.normalReset)
self.normalBox.layout().setAlignment(self.normalReset, Qt.AlignCenter)
self.retranslateUi()
def retranslateUi(self):
self.volumeBox.setTitle("Volume")
self.volumeLabel.setText("0.0 dB")
self.normalBox.setTitle("Normalized volume")
self.normalLabel.setText("0.0 dB")
self.normalReset.setText("Reset")
def enable_check(self, enable):
for box in [self.normalBox, self.volumeBox]:
box.setCheckable(enable)
box.setChecked(False)
def get_settings(self):
conf = {}
checkable = self.volumeBox.isCheckable()
if not (checkable and not self.volumeBox.isChecked()):
conf["volume"] = db_to_linear(self.volume.value() / 10)
conf["mute"] = self.muteButton.isMute()
if not (checkable and not self.normalBox.isChecked()):
if self.normalReset.isChecked():
conf["normal_volume"] = 1
else:
conf["normal_volume"] = self.normal
return {self.id: conf}
def load_settings(self, settings):
if settings is not None and self.id in settings:
self.volume.setValue(linear_to_db(settings[self.id]["volume"]) * 10)
self.muteButton.setMute(settings[self.id]["mute"])
self.normal = settings[self.id]["normal_volume"]
self.normalLabel.setText(str(round(linear_to_db(self.normal), 3))
+ " dB")
def volume_changed(self, value):
self.volumeLabel.setText(str(value / 10.0) + " dB")
def pan_changed(self, value):
if value < 0:
self.panLabel.setText("Left")
elif value > 0:
self.panLabel.setText("Right")
else:
self.panLabel.setText("Center")
示例13: PitchSettings
# 需要导入模块: from PyQt5.QtWidgets import QSlider [as 别名]
# 或者: from PyQt5.QtWidgets.QSlider import setPageStep [as 别名]
class PitchSettings(SettingsSection):
NAME = 'Pitch'
ELEMENT = Pitch
def __init__(self, size, Id, parent=None):
super().__init__(size, parent)
self.id = Id
self.groupBox = QGroupBox(self)
self.groupBox.setGeometry(0, 0, self.width(), 80)
self.layout = QHBoxLayout(self.groupBox)
self.pitchSlider = QSlider(self.groupBox)
self.pitchSlider.setMinimum(-12)
self.pitchSlider.setMaximum(12)
self.pitchSlider.setPageStep(1)
self.pitchSlider.setValue(0)
self.pitchSlider.setOrientation(QtCore.Qt.Horizontal)
self.pitchSlider.setTickPosition(QSlider.TicksAbove)
self.pitchSlider.setTickInterval(1)
self.layout.addWidget(self.pitchSlider)
self.pitchLabel = QLabel(self.groupBox)
self.pitchLabel.setAlignment(QtCore.Qt.AlignCenter)
self.layout.addWidget(self.pitchLabel)
self.layout.setStretch(0, 3)
self.layout.setStretch(1, 1)
self.pitchSlider.valueChanged.connect(self.pitch_changed)
self.retranslateUi()
def retranslateUi(self):
self.groupBox.setTitle("Pitch")
self.pitchLabel.setText("+0 semitones")
def enable_check(self, enable):
self.groupBox.setCheckable(enable)
self.groupBox.setChecked(False)
def get_configuration(self):
conf = {}
if not (self.groupBox.isCheckable() and not self.groupBox.isChecked()):
pitch = math.pow(2, self.pitchSlider.value() / 12)
conf[self.id] = {'pitch': pitch}
return conf
def set_configuration(self, conf):
if conf is not None and self.id in conf:
self.pitchSlider.setValue(
round(12 * math.log(conf[self.id]['pitch'], 2)))
def pitch_changed(self, value):
if value < 0:
self.pitchLabel.setText(str(value) + ' semitones')
else:
self.pitchLabel.setText('+' + str(value) + ' semitones')
示例14: SimulationGui
# 需要导入模块: from PyQt5.QtWidgets import QSlider [as 别名]
# 或者: from PyQt5.QtWidgets.QSlider import setPageStep [as 别名]
#.........这里部分代码省略.........
self.actPlayPause.setText("Play Animation")
self.actPlayPause.setIcon(QIcon(get_resource("play.png")))
self.actPlayPause.setDisabled(True)
self.actPlayPause.setShortcut(QKeySequence(Qt.Key_Space))
self.actPlayPause.triggered.connect(self.play_animation)
self.actStop = QAction(self)
self.actStop.setText("Stop")
self.actStop.setIcon(QIcon(get_resource("stop.png")))
self.actStop.setDisabled(True)
self.actStop.triggered.connect(self.stop_animation)
self.actSlow = QAction(self)
self.actSlow.setText("Slowest")
self.actSlow.setIcon(QIcon(get_resource("slow.png")))
self.actSlow.setDisabled(False)
self.actSlow.triggered.connect(self.set_slowest_playback_speed)
self.actFast = QAction(self)
self.actFast.setText("Fastest")
self.actFast.setIcon(QIcon(get_resource("fast.png")))
self.actFast.setDisabled(False)
self.actFast.triggered.connect(self.set_fastest_playback_speed)
self.speedControl = QSlider(Qt.Horizontal, self)
self.speedControl.setMaximumSize(200, 25)
self.speedControl.setTickPosition(QSlider.TicksBothSides)
self.speedControl.setDisabled(False)
self.speedControl.setMinimum(0)
self.speedControl.setMaximum(12)
self.speedControl.setValue(6)
self.speedControl.setTickInterval(6)
self.speedControl.setSingleStep(2)
self.speedControl.setPageStep(3)
self.speedControl.valueChanged.connect(self.update_playback_speed)
self.timeSlider = QSlider(Qt.Horizontal, self)
self.timeSlider.setMinimum(0)
self.timeSliderRange = 1000
self.timeSlider.setMaximum(self.timeSliderRange)
self.timeSlider.setTickInterval(1)
self.timeSlider.setTracking(True)
self.timeSlider.setDisabled(True)
self.timeSlider.valueChanged.connect(self.update_playback_time)
self.playbackTime = .0
self.playbackGain = 1
self.currentStepSize = .0
self.currentEndTime = .0
self.playbackTimer = QTimer()
self.playbackTimer.timeout.connect(self.increment_playback_time)
self.playbackTimeChanged.connect(self.update_gui)
self.playbackTimeout = 33 # in [ms] -> 30 fps
self.actResetCamera = QAction(self)
self.actResetCamera.setText("Reset Camera")
self.actResetCamera.setIcon(QIcon(get_resource("reset_camera.png")))
self.actResetCamera.setDisabled(True)
if available_vis:
self.actResetCamera.setEnabled(self.visualizer.can_reset_view)
self.actResetCamera.triggered.connect(self.reset_camera_clicked)
# postprocessing
self.actPostprocessing = QAction(self)
self.actPostprocessing.setText("Launch Postprocessor")
self.actPostprocessing.setIcon(QIcon(get_resource("processing.png")))
示例15: ImageDisplay
# 需要导入模块: from PyQt5.QtWidgets import QSlider [as 别名]
# 或者: from PyQt5.QtWidgets.QSlider import setPageStep [as 别名]
class ImageDisplay(QWidget):
def __init__(self,name,downsample=1,clim=None,colormap=None,mouse_event_handler=None,image_min=None,image_max=None,width=512,height=512,zoom_height=kcfg.zoom_height,zoom_width=kcfg.zoom_width,zoomable=False,draw_boxes=False,draw_lines=False):
super(ImageDisplay,self).__init__()
self.name = name
self.autoscale = False
self.sx = width
self.sy = height
self.draw_boxes = draw_boxes
self.draw_lines = draw_lines
self.zoomable = zoomable
if clim is None:
try:
clim = np.loadtxt('.gui_settings/clim_%s.txt'%name)
except Exception as e:
self.autoscale = True
self.clim = clim
self.pixmap = QPixmap()
self.label = QLabel()
self.image_max = image_max
self.image_min = image_min
self.zoom_width = zoom_width
self.zoom_height = zoom_height
layout = QHBoxLayout()
layout.addWidget(self.label)
if image_min is not None and image_max is not None and not self.autoscale:
self.n_steps = 100
self.cmin_slider = QSlider(Qt.Vertical)
self.cmax_slider = QSlider(Qt.Vertical)
self.cmin_slider.setMinimum(0)
self.cmax_slider.setMinimum(0)
self.cmin_slider.setSingleStep(1)
self.cmax_slider.setSingleStep(1)
self.cmin_slider.setPageStep(10)
self.cmax_slider.setPageStep(10)
self.cmin_slider.setMaximum(self.n_steps)
self.cmax_slider.setMaximum(self.n_steps)
self.cmin_slider.setValue(self.real2slider(self.clim[0]))
self.cmax_slider.setValue(self.real2slider(self.clim[1]))
self.cmin_slider.valueChanged.connect(self.set_cmin)
self.cmax_slider.valueChanged.connect(self.set_cmax)
layout.addWidget(self.cmin_slider)
layout.addWidget(self.cmax_slider)
self.setLayout(layout)
self.zoomed = False
self.colormap = colormap
if self.colormap is not None:
self.colortable = colortable(self.colormap)
if mouse_event_handler is not None:
self.mousePressEvent = mouse_event_handler
else:
self.mousePressEvent = self.zoom
self.downsample = downsample
data = np.random.rand(100,100)
self.show(data)
self.zoom_x1 = 0
self.zoom_x2 = self.sx-1
self.zoom_y1 = 0
self.zoom_y2 = self.sy-1
def real2slider(self,val):
# convert a real value into a slider value
return round(int((val-float(self.image_min))/float(self.image_max-self.image_min)*self.n_steps))
def slider2real(self,val):
# convert a slider integer into a real value
return float(val)/float(self.n_steps)*(self.image_max-self.image_min)+self.image_min
def set_cmax(self,slider_value):
self.clim = (self.clim[0],self.slider2real(slider_value))
np.savetxt('.gui_settings/clim_%s.txt'%self.name,self.clim)
def set_cmin(self,slider_value):
self.clim = (self.slider2real(slider_value),self.clim[1])
np.savetxt('.gui_settings/clim_%s.txt'%self.name,self.clim)
def show(self,data,boxes=None,lines=None,mask=None):
if mask is None:
if boxes is not None:
#.........这里部分代码省略.........