本文整理匯總了Python中PySide.QtGui.QSlider.setValue方法的典型用法代碼示例。如果您正苦於以下問題:Python QSlider.setValue方法的具體用法?Python QSlider.setValue怎麽用?Python QSlider.setValue使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類PySide.QtGui.QSlider
的用法示例。
在下文中一共展示了QSlider.setValue方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: initUi
# 需要導入模塊: from PySide.QtGui import QSlider [as 別名]
# 或者: from PySide.QtGui.QSlider import setValue [as 別名]
def initUi(self):
#slider
slider = QSlider(PySide.QtCore.Qt.Orientation.Horizontal, self)
slider.setRange(0,2)
slider.setTickInterval(1)
slider.setValue(2)
self.slider = slider
#.. and corresponding label element
label = QLabel(self)
label.setText(self.activation_states[slider.value()])
self.label = label
#connections
#PySide.QtCore.QObject.connect(slider, slider.valueChanged, self, self.update_label)
#self.connect(slider.valueChanged, self.update_label())
slider.valueChanged[int].connect(self.update_label)
# layout
lo = QVBoxLayout()
lo.addWidget( slider )
lo.addWidget( label )
self.setLayout(lo)
示例2: getParameterWidget
# 需要導入模塊: from PySide.QtGui import QSlider [as 別名]
# 或者: from PySide.QtGui.QSlider import setValue [as 別名]
def getParameterWidget(self):
"""
Returns a widget with sliders / fields with which properties of this
volume property can be adjusted.
:rtype: QWidget
"""
layout = QGridLayout()
layout.setContentsMargins(0, 0, 0, 0)
layout.setAlignment(Qt.AlignTop)
self.sliders = []
for index in range(7):
slider = QSlider(Qt.Horizontal)
slider.setMinimum(0)
slider.setMaximum(1000)
slider.setValue(int(math.pow(self.sectionsOpacity[index], 1.0/3.0) * slider.maximum()))
slider.valueChanged.connect(self.valueChanged)
self.sliders.append(slider)
label = QLabel(self.sectionNames[index])
label.setAlignment(Qt.AlignRight | Qt.AlignVCenter)
layout.addWidget(label, index, 0)
layout.addWidget(slider, index, 1)
try:
from ColumnResizer import ColumnResizer
columnResizer = ColumnResizer()
columnResizer.addWidgetsFromLayout(layout, 0)
except Exception, e:
print e
示例3: MultiVolumeVisualizationMIP
# 需要導入模塊: from PySide.QtGui import QSlider [as 別名]
# 或者: from PySide.QtGui.QSlider import setValue [as 別名]
class MultiVolumeVisualizationMIP(MultiVolumeVisualization):
"""
MultiVolumeVisualizationMIP is a visualization that shows
MIP visualizations of both datasets and adds them
together. It uses complementary colors for the datasets
so that the visualization is white in the spots where
they are the same.
"""
def __init__(self):
super(MultiVolumeVisualizationMIP, self).__init__()
self.fixedHue = 0
@overrides(MultiVolumeVisualization)
def getParameterWidget(self):
self.hueSlider = QSlider(Qt.Horizontal)
self.hueSlider.setMaximum(360)
self.hueSlider.setValue(self.fixedHue)
self.hueSlider.valueChanged.connect(self.valueChanged)
layout = QGridLayout()
layout.setAlignment(Qt.AlignTop)
layout.addWidget(QLabel("Base hue"), 0, 0)
layout.addWidget(self.hueSlider, 0, 1)
widget = QWidget()
widget.setLayout(layout)
return widget
@overrides(MultiVolumeVisualization)
def setImageData(self, fixedImageData, movingImageData):
self.fixedImageData = fixedImageData
self.movingImageData = movingImageData
@overrides(MultiVolumeVisualization)
def updateTransferFunctions(self):
self.fixedVolProp = self._createVolPropFromImageData(self.fixedImageData)
self.movingVolProp = self._createVolPropFromImageData(self.movingImageData)
self.updatedTransferFunction.emit()
@overrides(MultiVolumeVisualization)
def valueChanged(self, value):
self.fixedHue = self.hueSlider.value()
self.updateTransferFunctions()
@overrides(MultiVolumeVisualization)
def setMapper(self, mapper):
self.mapper = mapper
def _createVolPropFromImageData(self, imageData):
volProp = vtkVolumeProperty()
if imageData is not None:
color, opacityFunction = CreateRangeFunctions(imageData)
else:
color, opacityFunction = CreateEmptyFunctions()
volProp.SetColor(color)
volProp.SetScalarOpacity(opacityFunction)
return volProp
示例4: __init__
# 需要導入模塊: from PySide.QtGui import QSlider [as 別名]
# 或者: from PySide.QtGui.QSlider import setValue [as 別名]
def __init__(self, text, minValue, maxValue, defaultValue ):
QWidget.__init__( self )
validator = QDoubleValidator(minValue, maxValue, 2, self )
mainLayout = QHBoxLayout( self )
checkBox = QCheckBox()
checkBox.setFixedWidth( 115 )
checkBox.setText( text )
lineEdit = QLineEdit()
lineEdit.setValidator( validator )
lineEdit.setText( str(defaultValue) )
slider = QSlider( QtCore.Qt.Horizontal )
slider.setMinimum( minValue*100 )
slider.setMaximum( maxValue*100 )
slider.setValue( defaultValue )
mainLayout.addWidget( checkBox )
mainLayout.addWidget( lineEdit )
mainLayout.addWidget( slider )
QtCore.QObject.connect( slider, QtCore.SIGNAL( 'valueChanged(int)' ), self.syncWidthLineEdit )
QtCore.QObject.connect( lineEdit, QtCore.SIGNAL( 'textChanged(QString)' ), self.syncWidthSlider )
QtCore.QObject.connect( checkBox, QtCore.SIGNAL( "clicked()" ), self.updateEnabled )
self.checkBox = checkBox
self.slider = slider
self.lineEdit = lineEdit
self.updateEnabled()
示例5: SliderWidget
# 需要導入模塊: from PySide.QtGui import QSlider [as 別名]
# 或者: from PySide.QtGui.QSlider import setValue [as 別名]
class SliderWidget(QWidget):
"""
SliderWidget
"""
valueChanged = Signal(int)
def __init__(self):
super(SliderWidget, self).__init__()
self.label = QLabel()
self.slider = QSlider(Qt.Horizontal)
self.spinbox = QSpinBox()
self.slider.valueChanged.connect(self.changedValue)
self.spinbox.valueChanged.connect(self.changedValue)
layout = QGridLayout()
layout.setContentsMargins(0, 0, 0, 0)
layout.setVerticalSpacing(0)
layout.addWidget(self.label, 0, 0)
layout.addWidget(self.slider, 0, 1)
layout.addWidget(self.spinbox, 0, 2)
self.setLayout(layout)
def setName(self, name):
"""
Set the name for the slider
"""
self.label.setText(name)
def setRange(self, range):
"""
Set the range for the value
"""
self.slider.setMinimum(range[0])
self.spinbox.setMinimum(range[0])
self.slider.setMaximum(range[1])
self.spinbox.setMaximum(range[1])
def setValue(self, value):
"""
Set the value for the slider and the spinbox
"""
self.slider.setValue(value)
self.spinbox.setValue(value)
def value(self):
return self.slider.value()
@Slot(int)
def changedValue(self, value):
self.setValue(value)
self.valueChanged.emit(value)
示例6: NumericBox
# 需要導入模塊: from PySide.QtGui import QSlider [as 別名]
# 或者: from PySide.QtGui.QSlider import setValue [as 別名]
class NumericBox(QFrame):
"""
A box with a spinner and a slider to allow easier value manipulation by user
"""
valueChanged = Signal(float)
spinner = QDoubleSpinBox
step = 0.1
def __init__(self, parent=None):
super(NumericBox, self).__init__(parent)
self.slider = QSlider(Qt.Horizontal)
self.spinner = self.spinner()
self.spinner.setSingleStep(self.step)
self.slider.setTickInterval(self.step * 100)
self.slider.setSingleStep(self.step * 100)
self.slider.sliderMoved.connect(lambda x: self.spinner.setValue(x / 100))
self.spinner.valueChanged.connect(self.applyValue)
self.setLayout(line(self.slider, self.spinner))
self.layout().setStretch(1, 0)
def applyValue(self, value):
self.valueChanged.emit(value)
self.slider.setValue(value * 100)
def setValue(self, value):
self.spinner.setValue(value)
self.slider.setValue(value * 100)
def setRange(self, mini, maxi):
self.spinner.setRange(mini, maxi)
self.slider.setRange(mini * 100, maxi * 100)
def value(self):
return self.spinner.value()
示例7: PlotMainWindow
# 需要導入模塊: from PySide.QtGui import QSlider [as 別名]
# 或者: from PySide.QtGui.QSlider import setValue [as 別名]
class PlotMainWindow(QWidget):
"""Base class for plot main windows."""
def __init__(self, U, plot, length=1, title=None):
super(PlotMainWindow, self).__init__()
layout = QVBoxLayout()
if title:
title = QLabel('<b>' + title + '</b>')
title.setAlignment(Qt.AlignHCenter)
layout.addWidget(title)
layout.addWidget(plot)
plot.set(U, 0)
if length > 1:
hlayout = QHBoxLayout()
self.slider = QSlider(Qt.Horizontal)
self.slider.setMinimum(0)
self.slider.setMaximum(length - 1)
self.slider.setTickPosition(QSlider.TicksBelow)
hlayout.addWidget(self.slider)
lcd = QLCDNumber(m.ceil(m.log10(length)))
lcd.setDecMode()
lcd.setSegmentStyle(QLCDNumber.Flat)
hlayout.addWidget(lcd)
layout.addLayout(hlayout)
hlayout = QHBoxLayout()
toolbar = QToolBar()
self.a_play = QAction(self.style().standardIcon(QStyle.SP_MediaPlay), 'Play', self)
self.a_play.setCheckable(True)
self.a_rewind = QAction(self.style().standardIcon(QStyle.SP_MediaSeekBackward), 'Rewind', self)
self.a_toend = QAction(self.style().standardIcon(QStyle.SP_MediaSeekForward), 'End', self)
self.a_step_backward = QAction(self.style().standardIcon(QStyle.SP_MediaSkipBackward),
'Step Back', self)
self.a_step_forward = QAction(self.style().standardIcon(QStyle.SP_MediaSkipForward), 'Step', self)
self.a_loop = QAction(self.style().standardIcon(QStyle.SP_BrowserReload), 'Loop', self)
self.a_loop.setCheckable(True)
toolbar.addAction(self.a_play)
toolbar.addAction(self.a_rewind)
toolbar.addAction(self.a_toend)
toolbar.addAction(self.a_step_backward)
toolbar.addAction(self.a_step_forward)
toolbar.addAction(self.a_loop)
if hasattr(self, 'save'):
self.a_save = QAction(self.style().standardIcon(QStyle.SP_DialogSaveButton), 'Save', self)
toolbar.addAction(self.a_save)
self.a_save.triggered.connect(self.save)
hlayout.addWidget(toolbar)
self.speed = QSlider(Qt.Horizontal)
self.speed.setMinimum(0)
self.speed.setMaximum(100)
hlayout.addWidget(QLabel('Speed:'))
hlayout.addWidget(self.speed)
layout.addLayout(hlayout)
self.timer = QTimer()
self.timer.timeout.connect(self.update_solution)
self.slider.valueChanged.connect(self.slider_changed)
self.slider.valueChanged.connect(lcd.display)
self.speed.valueChanged.connect(self.speed_changed)
self.a_play.toggled.connect(self.toggle_play)
self.a_rewind.triggered.connect(self.rewind)
self.a_toend.triggered.connect(self.to_end)
self.a_step_forward.triggered.connect(self.step_forward)
self.a_step_backward.triggered.connect(self.step_backward)
self.speed.setValue(50)
elif hasattr(self, 'save'):
hlayout = QHBoxLayout()
toolbar = QToolBar()
self.a_save = QAction(self.style().standardIcon(QStyle.SP_DialogSaveButton), 'Save', self)
toolbar.addAction(self.a_save)
hlayout.addWidget(toolbar)
layout.addLayout(hlayout)
self.a_save.triggered.connect(self.save)
self.setLayout(layout)
self.plot = plot
self.U = U
self.length = length
def slider_changed(self, ind):
self.plot.set(self.U, ind)
def speed_changed(self, val):
self.timer.setInterval(val * 20)
def update_solution(self):
ind = self.slider.value() + 1
#.........這裏部分代碼省略.........
示例8: MainWindow
# 需要導入模塊: from PySide.QtGui import QSlider [as 別名]
# 或者: from PySide.QtGui.QSlider import setValue [as 別名]
class MainWindow(QWidget):
def __init__(self, grid, U):
assert isinstance(U, Communicable)
super(MainWindow, self).__init__()
U = U.data
layout = QVBoxLayout()
plotBox = QHBoxLayout()
plot = GlumpyPatchWidget(self, grid, vmin=np.min(U), vmax=np.max(U), bounding_box=bounding_box, codim=codim)
bar = ColorBarWidget(self, vmin=np.min(U), vmax=np.max(U))
plotBox.addWidget(plot)
plotBox.addWidget(bar)
layout.addLayout(plotBox)
if len(U) == 1:
plot.set(U.ravel())
else:
plot.set(U[0])
hlayout = QHBoxLayout()
self.slider = QSlider(Qt.Horizontal)
self.slider.setMinimum(0)
self.slider.setMaximum(len(U) - 1)
self.slider.setTickPosition(QSlider.TicksBelow)
hlayout.addWidget(self.slider)
lcd = QLCDNumber(m.ceil(m.log10(len(U))))
lcd.setDecMode()
lcd.setSegmentStyle(QLCDNumber.Flat)
hlayout.addWidget(lcd)
layout.addLayout(hlayout)
hlayout = QHBoxLayout()
toolbar = QToolBar()
self.a_play = QAction(self.style().standardIcon(QStyle.SP_MediaPlay), 'Play', self)
self.a_play.setCheckable(True)
self.a_rewind = QAction(self.style().standardIcon(QStyle.SP_MediaSeekBackward), 'Rewind', self)
self.a_toend = QAction(self.style().standardIcon(QStyle.SP_MediaSeekForward), 'End', self)
self.a_step_backward = QAction(self.style().standardIcon(QStyle.SP_MediaSkipBackward), 'Step Back', self)
self.a_step_forward = QAction(self.style().standardIcon(QStyle.SP_MediaSkipForward), 'Step', self)
self.a_loop = QAction(self.style().standardIcon(QStyle.SP_BrowserReload), 'Loop', self)
self.a_loop.setCheckable(True)
toolbar.addAction(self.a_play)
toolbar.addAction(self.a_rewind)
toolbar.addAction(self.a_toend)
toolbar.addAction(self.a_step_backward)
toolbar.addAction(self.a_step_forward)
toolbar.addAction(self.a_loop)
hlayout.addWidget(toolbar)
self.speed = QSlider(Qt.Horizontal)
self.speed.setMinimum(0)
self.speed.setMaximum(100)
hlayout.addWidget(QLabel('Speed:'))
hlayout.addWidget(self.speed)
layout.addLayout(hlayout)
self.timer = QTimer()
self.timer.timeout.connect(self.update_solution)
self.slider.valueChanged.connect(self.slider_changed)
self.slider.valueChanged.connect(lcd.display)
self.speed.valueChanged.connect(self.speed_changed)
self.a_play.toggled.connect(self.toggle_play)
self.a_rewind.triggered.connect(self.rewind)
self.a_toend.triggered.connect(self.to_end)
self.a_step_forward.triggered.connect(self.step_forward)
self.a_step_backward.triggered.connect(self.step_backward)
self.speed.setValue(50)
self.setLayout(layout)
self.plot = plot
self.U = U
def slider_changed(self, ind):
self.plot.set(self.U[ind])
def speed_changed(self, val):
self.timer.setInterval(val * 20)
def update_solution(self):
ind = self.slider.value() + 1
if ind >= len(self.U):
if self.a_loop.isChecked():
ind = 0
else:
self.a_play.setChecked(False)
return
self.slider.setValue(ind)
def toggle_play(self, checked):
if checked:
if self.slider.value() + 1 == len(self.U):
#.........這裏部分代碼省略.........
示例9: Layer
# 需要導入模塊: from PySide.QtGui import QSlider [as 別名]
# 或者: from PySide.QtGui.QSlider import setValue [as 別名]
class Layer(object):
def __init__(self):
super(Layer, self).__init__()
self.orientation = Quaternion()
self.picked = None
self.show = QCheckBox()
self.show.setChecked(True)
self.alpha_slider = QSlider(QtCore.Qt.Orientation.Horizontal)
self.alpha_slider.setRange(0, 1024)
self.alpha_slider.setValue(1024)
self.alpha_number = QDoubleSpinBox()
self.alpha_number.setDecimals(3)
self.alpha_number.setSingleStep(0.01)
self.alpha_number.setRange(0, 1)
self.alpha_number.setValue(1)
self.alpha_slider.valueChanged.connect(self._alphaSliderChanged)
self.alpha_number.valueChanged.connect(self._alphaNumberChanged)
self.move = QCheckBox()
self.move.setChecked(True)
self.quat = QLineEdit()
font = QFont('monospace')
font.setStyleHint(QFont.TypeWriter)
self.quat.setFont(font)
default_quat = '+0.000, +1.000, +0.000, +0.000'
margins = self.quat.textMargins()
self.quat.setFixedWidth(
# HACK -------------------------------------------v
QFontMetrics(self.quat.font()).width(default_quat + ' ') +
margins.left() + margins.right()
)
self.quat.setInputMask('#0.000, #0.000, #0.000, #0.000')
self.quat.setMaxLength(30)
self.quat.setText(default_quat)
self.quat.editingFinished.connect(self._orientationChanged)
self.nbytes = QLabel()
self.nbytes.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
self.nbytes.setText('0')
self.label = QLabel()
self.label.setText('<empty>')
def multiplyOrientation(self, quat):
self.setOrientation(quat * self.orientation)
def setOrientation(self, quat):
self.orientation = quat
self.quat.setText(
'%+1.3f, %+1.3f, %+1.3f, %+1.3f' % (
self.orientation.w,
self.orientation.x,
self.orientation.y,
self.orientation.z,
)
)
def _orientationChanged(self):
text = self.quat.text()
def alpha(self):
return self.alpha_number.value() if self.show.isChecked() else 0.0
def _alphaSliderChanged(self):
self.alpha_number.setValue(self.alpha_slider.value() / 1024.0)
def _alphaNumberChanged(self):
self.alpha_slider.setValue(1024 * self.alpha_number.value())
def setup_ui(self, table, row):
widgets = [
None,
CenterH(self.show),
self.alpha_slider,
self.alpha_number,
CenterH(self.move),
self.quat,
self.nbytes,
self.label,
]
for (column, widget) in enumerate(widgets):
if widget is not None:
table.setCellWidget(row, column, widget)
def load_file(self, file_name, in_format):
self.sphere = proj.load_sphere(file_name, projection=in_format)
in_format = self.sphere.__class__
print('Loaded input %s from %s.' % (in_format.__name__, file_name))
self.texture_id = glGenTextures(1)
self.sphere.to_gl(self.texture_id)
self.shader = Shader(
vert=VERTEX_SHADER,
frag=FRAGMENT_SHADER + self.sphere.get_glsl_sampler(),
)
self.label.setText(file_name)
self.nbytes.setText(read_bsize(self.sphere.array.nbytes))
示例10: MainWindow
# 需要導入模塊: from PySide.QtGui import QSlider [as 別名]
# 或者: from PySide.QtGui.QSlider import setValue [as 別名]
class MainWindow(QWidget):
# noinspection PyUnresolvedReferences
def __init__(self, clipboard):
super().__init__()
self.clipboard = clipboard
self.setWindowIcon(QIcon('Logo_rendered_edited.png'))
self.layout = QBoxLayout(QBoxLayout.TopToBottom, self)
self.generator = CtSesam()
self.iterations = 4096
# Master password
self.master_password_label = QLabel("&Master-Passwort:")
self.maser_password_edit = QLineEdit()
self.maser_password_edit.setEchoMode(QLineEdit.EchoMode.Password)
self.maser_password_edit.textChanged.connect(self.reset_iterations)
self.maser_password_edit.returnPressed.connect(self.move_focus)
self.maser_password_edit.setMaximumHeight(28)
self.master_password_label.setBuddy(self.maser_password_edit)
self.layout.addWidget(self.master_password_label)
self.layout.addWidget(self.maser_password_edit)
# Domain
self.domain_label = QLabel("&Domain:")
self.domain_edit = QLineEdit()
self.domain_edit.textChanged.connect(self.reset_iterations)
self.domain_edit.returnPressed.connect(self.move_focus)
self.domain_edit.setMaximumHeight(28)
self.domain_label.setBuddy(self.domain_edit)
self.layout.addWidget(self.domain_label)
self.layout.addWidget(self.domain_edit)
# Username
self.username_label = QLabel("&Username:")
self.username_edit = QLineEdit()
self.username_edit.textChanged.connect(self.reset_iterations)
self.username_edit.returnPressed.connect(self.move_focus)
self.username_edit.setMaximumHeight(28)
self.username_label.setBuddy(self.username_edit)
self.layout.addWidget(self.username_label)
self.layout.addWidget(self.username_edit)
# Checkboxes
self.special_characters_checkbox = QCheckBox("Sonderzeichen")
self.special_characters_checkbox.setChecked(True)
self.special_characters_checkbox.stateChanged.connect(self.reset_iterations)
self.layout.addWidget(self.special_characters_checkbox)
self.letters_checkbox = QCheckBox("Buchstaben")
self.letters_checkbox.setChecked(True)
self.letters_checkbox.stateChanged.connect(self.reset_iterations)
self.layout.addWidget(self.letters_checkbox)
self.digits_checkbox = QCheckBox("Zahlen")
self.digits_checkbox.setChecked(True)
self.digits_checkbox.stateChanged.connect(self.reset_iterations)
self.layout.addWidget(self.digits_checkbox)
# Length slider
self.length_label = QLabel("&Länge:")
self.length_display = QLabel()
self.length_label_layout = QBoxLayout(QBoxLayout.LeftToRight)
self.length_label_layout.addWidget(self.length_label)
self.length_label_layout.addWidget(self.length_display)
self.length_label_layout.addStretch()
self.length_slider = QSlider(Qt.Horizontal)
self.length_slider.setMinimum(4)
self.length_slider.setMaximum(20)
self.length_slider.setPageStep(1)
self.length_slider.setValue(10)
self.length_display.setText(str(self.length_slider.sliderPosition()))
self.length_slider.valueChanged.connect(self.length_slider_changed)
self.length_label.setBuddy(self.length_slider)
self.layout.addLayout(self.length_label_layout)
self.layout.addWidget(self.length_slider)
# Button
self.generate_button = QPushButton("Erzeugen")
self.generate_button.clicked.connect(self.generate_password)
self.generate_button.setAutoDefault(True)
self.layout.addWidget(self.generate_button)
# Password
self.password_label = QLabel("&Passwort:")
self.password = QLabel()
self.password.setTextFormat(Qt.PlainText)
self.password.setAlignment(Qt.AlignCenter)
self.password.setFont(QFont("Helvetica", 18, QFont.Bold))
self.password_label.setBuddy(self.password)
self.layout.addWidget(self.password_label)
self.layout.addWidget(self.password)
# Iteration display
self.message_label = QLabel()
self.message_label.setTextFormat(Qt.RichText)
self.message_label.setVisible(False)
self.layout.addWidget(self.message_label)
# Window layout
self.layout.addStretch()
self.setGeometry(0, 30, 300, 400)
self.setWindowTitle("c't SESAM")
self.maser_password_edit.setFocus()
self.show()
def length_slider_changed(self):
self.length_display.setText(str(self.length_slider.sliderPosition()))
self.reset_iterations()
def reset_iterations(self):
self.iterations = 4096
self.message_label.setVisible(False)
#.........這裏部分代碼省略.........
示例11: ParameterSlider
# 需要導入模塊: from PySide.QtGui import QSlider [as 別名]
# 或者: from PySide.QtGui.QSlider import setValue [as 別名]
class ParameterSlider(QWidget):
'''ParameterSlider is a QSlider combined with a QLabel to display the
current value of the slider
Arguments
---------
parent : QWidget
parent widget
name : str
name of the parameter the slider represents. Will be used as 'name = '
prefix for the label
'''
valueChanged = Signal()
def __init__(self, parent=None, name=None):
QWidget.__init__(self, parent)
self.name = name
self.set_format('.3f')
# create widgets
self.label = QLabel()
self.slider = QSlider(QtCore.Qt.Orientation.Horizontal)
self.slider.valueChanged.connect(self._update_label)
# set default values
self.set_range(0, 100)
self.set_value(50)
# create layout for the entire widget
box = QVBoxLayout()
box.addWidget(self.label)
box.addWidget(self.slider)
self.setLayout(box)
def _convert(self, value, inverse=False):
if inverse == True:
# slider value -> true value
return self.offset + self.delta * float(value) / self.ticks
else:
# true value -> slider value
return (value - self.offset) * self.ticks / self.delta
@Slot()
def _update_label(self, value):
# convert value to external range
value = self._convert(value, inverse=True)
if self.name is None:
# no name given -> show just 'value'
text = self.format_str.format(value)
else:
# name given -> show 'name = value'
text = self.format_str.format(self.name, value)
self.label.setText(text)
self.valueChanged.emit()
def set_format(self, format_str):
if self.name is None:
self.format_str = '{:' + format_str + '}'
else:
self.format_str = '{} = {:' + format_str + '}'
def set_range(self, minimum, maximum, step=1):
# calculate settings
self.offset = float(minimum)
self.delta = float(maximum - minimum)
self.ticks = int(self.delta / step)
# forward settings to widget
self.slider.setMinimum(0.0)
self.slider.setMaximum(self.ticks)
self.slider.setSingleStep(1.0)
def set_value(self, value):
# convert value to internal range
value = self._convert(float(value))
# set value and emit signal
self.slider.setValue(value)
self.slider.valueChanged.emit(value)
def value(self):
return self._convert(self.slider.value(), inverse=True)
示例12: MainWindow
# 需要導入模塊: from PySide.QtGui import QSlider [as 別名]
# 或者: from PySide.QtGui.QSlider import setValue [as 別名]
class MainWindow(object):
'''
Contains the implementation for building and displaying the
application's main window.
'''
def __init__(self, model, alg):
'''
Constructs the GUI and initializes internal parameters.
'''
self._window = QMainWindow()
self._window.setWindowTitle("Reverse A*")
self._worldWidget = WorldWidget(model, alg)
self._model = model
self._alg = alg
self._spdSetting = 0
self._timer = QTimer()
#Every time the timer times out, invoke the _onStep method.
self._timer.timeout.connect(self._onStep)
self._buildGUI()
self._window.show()
def _buildGUI(self):
'''
Construct the GUI widgets and layouts.
'''
centerWidget = QWidget()
self._window.setCentralWidget(centerWidget)
worldLayout = QHBoxLayout()
worldLayout.addWidget(self._worldWidget)
grpBx = QGroupBox("2D World")
grpBx.setLayout(worldLayout)
grpBx.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
ctrlPan = self._buildControlPanel()
layout = QHBoxLayout()
layout.addWidget(ctrlPan)
layout.addWidget(grpBx)
layout.setAlignment(ctrlPan, Qt.AlignLeft | Qt.AlignTop)
centerWidget.setLayout(layout)
def _buildControlPanel(self):
'''
Create all buttons, labels, etc for the application control elements
'''
layout = QVBoxLayout()
layout.addWidget(self._buildSetupPanel())
layout.addWidget(self._buildSpeedPanel())
layout.addWidget(self._buildResultsPanel())
layout.addWidget(self._buildRenderingOptions())
layout.setAlignment(Qt.AlignLeft | Qt.AlignTop)
ctrlWidget = QWidget(self._window)
ctrlWidget.setLayout(layout)
ctrlWidget.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
return ctrlWidget
def _buildSetupPanel(self):
'''
Creates the sub-panel containing control widgets for re-initializing
the world on demand.
'''
self._percentLbl = QLabel("%")
self._setupBtn = QPushButton("Setup", self._window)
self._setupBtn.clicked.connect(self._onSetup)
self._percentObstacleSldr = QSlider(Qt.Horizontal, self._window)
self._percentObstacleSldr.setTickPosition(QSlider.TickPosition.TicksBelow)
self._percentObstacleSldr.setTickInterval(10)
self._percentObstacleSldr.setMinimum(0)
self._percentObstacleSldr.setMaximum(100)
self._percentObstacleSldr.valueChanged.connect(self._onPercentSlideChange)
self._percentObstacleSldr.setValue(33)
layout = QGridLayout()
layout.addWidget(self._setupBtn, 0, 0, 1, 2)
layout.addWidget(QLabel("Percent Occupied:"), 1, 0)
layout.addWidget(self._percentLbl, 1, 1)
layout.addWidget(self._percentObstacleSldr, 2, 0, 1, 2)
grpBx = QGroupBox("Setup Controls")
grpBx.setLayout(layout)
grpBx.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed)
return grpBx
def _buildSpeedPanel(self):
'''
Creates the sub-panel containing control widgets for controlling the
speed of execution of the algorithm.
'''
self._runBtn = QPushButton("Run", self._window)
self._stepBtn = QPushButton("Step Once", self._window)
self._runBtn.clicked.connect(self._onRun)
self._stepBtn.clicked.connect(self._onStep)
slowRadio = QRadioButton('Slow', self._window)
medRadio = QRadioButton('Medium', self._window)
fastRadio = QRadioButton('Fast', self._window)
#.........這裏部分代碼省略.........
示例13: EegCarDashboardWindow
# 需要導入模塊: from PySide.QtGui import QSlider [as 別名]
# 或者: from PySide.QtGui.QSlider import setValue [as 別名]
#.........這裏部分代碼省略.........
# Drive Setting
self.rc_mode = QCheckBox('Remote Control', self)
self.rc_mode.stateChanged.connect(self.remote_control)
self.rc_stright_mode = QCheckBox('RC Stright', self)
self.rc_stright_mode.stateChanged.connect(self.stright_control)
self.keep_mode_checkbox = QCheckBox('Keep Mode', self)
self.keep_mode_checkbox.stateChanged.connect(self.keep_mode_control)
self.power_handle_mode_checkbox = QCheckBox('Power Handle', self)
self.power_handle_mode_checkbox.stateChanged.connect(self.power_handle_mode_control)
self.ignore_eeg_input = QCheckBox('Ignore Eeg Input', self)
self.ignore_eeg_input.stateChanged.connect(self.ignore_eeg_input_control)
drive_layout = QHBoxLayout(self)
drive_layout.addWidget(self.rc_mode)
drive_layout.addWidget(self.rc_stright_mode)
drive_layout.addWidget(self.keep_mode_checkbox)
drive_layout.addWidget(self.power_handle_mode_checkbox)
drive_layout.addWidget(self.ignore_eeg_input)
drive_groupbox = QtGui.QGroupBox("Drive Status & Setting")
drive_groupbox.setLayout(drive_layout)
# Throttle Setting
self.throttle_slider = QSlider(Qt.Horizontal)
self.throttle_slider.setFocusPolicy(Qt.StrongFocus)
self.throttle_slider.setTickPosition(QSlider.TicksBothSides)
self.throttle_slider.setTickInterval(10)
self.throttle_slider.setSingleStep(10)
self.throttle_slider.setValue(DEFAULT_MAX_THROTTLE)
self.throttle_slider.valueChanged.connect(self.throttle_slider.setValue)
self.connect(self.throttle_slider, SIGNAL("valueChanged(int)"), self.setSliderMaxThrottle)
self.throttle_label = QLabel('Max Throttle (%): ', self)
self.maxThrottle = QLineEdit(str(DEFAULT_MAX_THROTTLE))
# self.maxThrottle.textChanged[str].connect(self.setMaxThrottle)
self.maxThrottle.editingFinished.connect(self.setMaxThrottle)
self.maxThrottle.setMaxLength(2)
self.maxThrottle.setMaximumWidth(40)
self.backwardMaxThrottle = QLineEdit(str(DEFAULT_MAX_BACK_THROTTLE))
# self.maxThrottle.textChanged[str].connect(self.setMaxThrottle)
self.backwardMaxThrottle.editingFinished.connect(self.setBackwardMaxThrottle)
self.backwardMaxThrottle.setMaxLength(2)
self.backwardMaxThrottle.setMaximumWidth(40)
throttle_layout = QHBoxLayout(self)
throttle_layout.addWidget(self.throttle_label)
throttle_layout.addWidget(self.throttle_slider)
throttle_layout.addWidget(QLabel("Forward Max:"))
throttle_layout.addWidget(self.maxThrottle)
throttle_layout.addWidget(QLabel("Backward Max:"))
throttle_layout.addWidget(self.backwardMaxThrottle)
throttle_groupbox = QtGui.QGroupBox("Max Throttle Setting (30-99)")
throttle_groupbox.setLayout(throttle_layout)
# Steering
self.steering_label = QLabel('Turn Range', self)
示例14: SliderFloatWidget
# 需要導入模塊: from PySide.QtGui import QSlider [as 別名]
# 或者: from PySide.QtGui.QSlider import setValue [as 別名]
class SliderFloatWidget(QWidget):
"""
SliderFloatWidget
"""
valueChanged = Signal(int)
def __init__(self):
super(SliderFloatWidget, self).__init__()
self.label = QLabel()
self.slider = QSlider(Qt.Horizontal)
self.spinbox = QDoubleSpinBox()
self.slider.valueChanged.connect(self.changedValueFromSlider)
self.spinbox.valueChanged.connect(self.changedValueFromSpinBox)
layout = QGridLayout()
layout.setContentsMargins(0, 0, 0, 0)
layout.setVerticalSpacing(0)
# layout.setHorizontalSpacing(0)
layout.addWidget(self.label, 0, 0)
layout.addWidget(self.slider, 0, 1)
layout.addWidget(self.spinbox, 0, 2)
self.setLayout(layout)
def setName(self, name):
"""
Set the name for the slider
"""
self.label.setText(name)
def setRange(self, range):
"""
Set the range for the value
"""
self.range = range
self.slider.setMinimum(0)
self.slider.setMaximum(100)
self.spinbox.setRange(self.range[0], self.range[1])
diff = self.range[1] - self.range[0]
if diff <= 1:
self.spinbox.setSingleStep(0.1)
def setValue(self, value):
"""
Set the value for the slider and the spinbox
"""
ratio = (value - self.range[0]) / (self.range[1] - self.range[0])
self.slider.setValue(ratio * 100)
self.spinbox.setValue(value)
def value(self):
return self.spinbox.value()
@Slot(int)
def changedValueFromSlider(self, value):
ratio = value / 100.0
val = self.range[0] + ratio * (self.range[1] - self.range[0])
self.spinbox.setValue(val)
self.valueChanged.emit(val)
@Slot(float)
def changedValueFromSpinBox(self, value):
ratio = (value - self.range[0]) / (self.range[1] - self.range[0])
self.slider.setValue(ratio * 100)
self.valueChanged.emit(value)
示例15: VolumeVisualizationMIDA
# 需要導入模塊: from PySide.QtGui import QSlider [as 別名]
# 或者: from PySide.QtGui.QSlider import setValue [as 別名]
class VolumeVisualizationMIDA(VolumeVisualization):
"""
VolumeVisualization subclass for MIP visualization.
"""
def __init__(self):
super(VolumeVisualizationMIDA, self).__init__()
self.visualizationType = VisualizationTypeMIDA
self.mapper = None
# TODO: add two sliders with which to threshold the data
# Create property and attach the transfer function
self.volProp = vtkVolumeProperty()
self.volProp.SetIndependentComponents(True)
self.volProp.SetInterpolationTypeToLinear()
@overrides(VolumeVisualization)
def getParameterWidget(self):
"""
Returns a widget with sliders / fields with which properties of this
volume property can be adjusted.
:rtype: QWidget
"""
self.brightnessSlider = QSlider(Qt.Horizontal)
self.brightnessSlider.setMinimum(0)
self.brightnessSlider.setMaximum(500)
self.brightnessSlider.setValue(int(self.brightness))
self.brightnessSlider.valueChanged.connect(self.valueChanged)
self.brightnessLabel = QLabel(str(self.brightness/100.0))
self.windowSlider = QSlider(Qt.Horizontal)
self.windowSlider.setMinimum(0)
self.windowSlider.setMaximum(int(abs(self.maximum - self.minimum)))
self.windowSlider.setValue(int(self.window))
self.windowSlider.valueChanged.connect(self.valueChanged)
self.windowLabel = QLabel(str(self.window))
self.levelSlider = QSlider(Qt.Horizontal)
self.levelSlider.setMinimum(int(self.minimum))
self.levelSlider.setMaximum(int(self.maximum))
self.levelSlider.setValue(int(self.level))
self.levelSlider.valueChanged.connect(self.valueChanged)
self.levelLabel = QLabel(str(self.level))
self.lowerBoundSlider = QSlider(Qt.Horizontal)
self.lowerBoundSlider.setMinimum(int(self.minimum))
self.lowerBoundSlider.setMaximum(int(self.maximum))
self.lowerBoundSlider.setValue(int(self.lowerBound))
self.lowerBoundSlider.valueChanged.connect(self.valueChanged)
self.lowerBoundLabel = QLabel(str(self.lowerBound))
self.upperBoundSlider = QSlider(Qt.Horizontal)
self.upperBoundSlider.setMinimum(int(self.minimum))
self.upperBoundSlider.setMaximum(int(self.maximum))
self.upperBoundSlider.setValue(int(self.upperBound))
self.upperBoundSlider.valueChanged.connect(self.valueChanged)
self.upperBoundLabel = QLabel(str(self.upperBound))
layout = QGridLayout()
layout.setAlignment(Qt.AlignTop)
layout.setContentsMargins(0, 0, 0, 0)
layout.addWidget(QLabel("Window"), 0, 0)
layout.addWidget(self.windowSlider, 0, 1)
layout.addWidget(self.windowLabel, 0, 2)
layout.addWidget(QLabel("Level"), 1, 0)
layout.addWidget(self.levelSlider, 1, 1)
layout.addWidget(self.levelLabel, 1, 2)
layout.addWidget(QLabel("Brightness"), 2, 0)
layout.addWidget(self.brightnessSlider, 2, 1)
layout.addWidget(self.brightnessLabel, 2, 2)
layout.addWidget(QLabel("Lower threshold"), 3, 0)
layout.addWidget(self.lowerBoundSlider, 3, 1)
layout.addWidget(self.lowerBoundLabel, 3, 2)
layout.addWidget(QLabel("Upper threshold"), 4, 0)
layout.addWidget(self.upperBoundSlider, 4, 1)
layout.addWidget(self.upperBoundLabel, 4, 2)
widget = QWidget()
widget.setLayout(layout)
return widget
@overrides(VolumeVisualization)
def setImageData(self, imageData):
if imageData is None:
self.minimum = 0.0
self.maximum = 1.0
self.lowerBound = self.minimum
self.upperBound = self.maximum
return
self.minimum, self.maximum = imageData.GetScalarRange()
self.lowerBound = self.minimum
self.upperBound = self.maximum
self.window = abs(self.maximum - self.minimum)
self.level = (self.maximum + self.minimum) / 2.0
self.brightness = 100
@overrides(VolumeVisualization)
def setMapper(self, mapper):
self.mapper = mapper
#.........這裏部分代碼省略.........