当前位置: 首页>>代码示例>>Python>>正文


Python QSlider.setPageStep方法代码示例

本文整理汇总了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())
开发者ID:tornel,项目名称:linux-show-player,代码行数:62,代码来源:sink_selector.py

示例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))
开发者ID:tornel,项目名称:linux-show-player,代码行数:60,代码来源:speed.py

示例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")
开发者ID:tornel,项目名称:linux-show-player,代码行数:59,代码来源:audio_pan.py

示例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
开发者ID:Axel-Erfurt,项目名称:pyqt5,代码行数:12,代码来源:hellogl.py

示例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
开发者ID:LinuxCNC,项目名称:linuxcnc,代码行数:12,代码来源:qt5_graphics.py

示例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))
开发者ID:chippey,项目名称:linux-show-player,代码行数:56,代码来源:audio_pan.py

示例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
开发者ID:death-finger,项目名称:Scripts,代码行数:14,代码来源:grabber.py

示例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)
开发者ID:andreasfirczynski,项目名称:NetworkExtractionFromImages,代码行数:16,代码来源:settings.py

示例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)
开发者ID:andreasfirczynski,项目名称:NetworkExtractionFromImages,代码行数:20,代码来源:main_controller.py

示例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)
开发者ID:tornel,项目名称:linux-show-player,代码行数:41,代码来源:equalizer10.py

示例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)
开发者ID:chippey,项目名称:linux-show-player,代码行数:38,代码来源:equalizer10.py

示例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")
开发者ID:chippey,项目名称:linux-show-player,代码行数:95,代码来源:volume.py

示例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')
开发者ID:tornel,项目名称:linux-show-player,代码行数:65,代码来源:pitch.py

示例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")))
开发者ID:BerndHeufelder,项目名称:pymoskito,代码行数:70,代码来源:simulation_gui.py

示例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:
#.........这里部分代码省略.........
开发者ID:rjonnal,项目名称:kungpao,代码行数:103,代码来源:__init__.py


注:本文中的PyQt5.QtWidgets.QSlider.setPageStep方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。