本文整理汇总了Python中PySide.QtGui.QSlider.setMinimum方法的典型用法代码示例。如果您正苦于以下问题:Python QSlider.setMinimum方法的具体用法?Python QSlider.setMinimum怎么用?Python QSlider.setMinimum使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PySide.QtGui.QSlider
的用法示例。
在下文中一共展示了QSlider.setMinimum方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: getParameterWidget
# 需要导入模块: from PySide.QtGui import QSlider [as 别名]
# 或者: from PySide.QtGui.QSlider import setMinimum [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
示例2: __init__
# 需要导入模块: from PySide.QtGui import QSlider [as 别名]
# 或者: from PySide.QtGui.QSlider import setMinimum [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()
示例3: __init__
# 需要导入模块: from PySide.QtGui import QSlider [as 别名]
# 或者: from PySide.QtGui.QSlider import setMinimum [as 别名]
def __init__(self, *args, **kwargs ):
self.minimum = 1
self.maximum = 100
self.lineEditMaximum = 10000
QMainWindow.__init__( self, *args, **kwargs )
self.installEventFilter( self )
#self.setWindowFlags( QtCore.Qt.Drawer )
self.setWindowTitle( Window_global.title )
widgetMain = QWidget()
layoutVertical = QVBoxLayout( widgetMain )
self.setCentralWidget( widgetMain )
layoutSlider = QHBoxLayout()
lineEdit = QLineEdit(); lineEdit.setFixedWidth( 100 )
lineEdit.setText( str( 1 ) )
validator = QIntValidator(self.minimum, self.lineEditMaximum, self)
lineEdit.setValidator( validator )
slider = QSlider(); slider.setOrientation( QtCore.Qt.Horizontal )
slider.setMinimum( self.minimum )
slider.setMaximum( self.maximum )
layoutSlider.addWidget( lineEdit )
layoutSlider.addWidget( slider )
layoutAngle = QVBoxLayout()
checkBox = QCheckBox( 'Connect Angle By Tangent' )
layoutVector = QHBoxLayout()
leVx = QLineEdit(); leVx.setText( str( 1.000 ) ); leVx.setEnabled( False )
leVx.setValidator( QDoubleValidator( -100, 100, 5, self ) )
leVy = QLineEdit(); leVy.setText( str( 0.000 ) ); leVy.setEnabled( False )
leVy.setValidator( QDoubleValidator( -100, 100, 5, self ) )
leVz = QLineEdit(); leVz.setText( str( 0.000 ) ); leVz.setEnabled( False )
leVz.setValidator( QDoubleValidator( -100, 100, 5, self ) )
layoutAngle.addWidget( checkBox )
layoutAngle.addLayout( layoutVector )
layoutVector.addWidget( leVx ); layoutVector.addWidget( leVy ); layoutVector.addWidget( leVz )
button = QPushButton( 'Create' )
layoutVertical.addLayout( layoutSlider )
layoutVertical.addLayout( layoutAngle )
layoutVertical.addWidget( button )
QtCore.QObject.connect( slider, QtCore.SIGNAL('valueChanged(int)'), self.sliderValueChanged )
QtCore.QObject.connect( lineEdit, QtCore.SIGNAL('textEdited(QString)'), self.lineEditValueChanged )
QtCore.QObject.connect( button, QtCore.SIGNAL('clicked()'), Functions.createPointOnCurve )
QtCore.QObject.connect( checkBox, QtCore.SIGNAL( 'clicked()'), Functions.setAngleEnabled )
self.slider = slider
self.lineEdit = lineEdit
Window_global.slider = slider
Window_global.button = button
Window_global.checkBox = checkBox
Window_global.leVx = leVx
Window_global.leVy = leVy
Window_global.leVz = leVz
示例4: SliderWidget
# 需要导入模块: from PySide.QtGui import QSlider [as 别名]
# 或者: from PySide.QtGui.QSlider import setMinimum [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)
示例5: MainWindow
# 需要导入模块: from PySide.QtGui import QSlider [as 别名]
# 或者: from PySide.QtGui.QSlider import setMinimum [as 别名]
#.........这里部分代码省略.........
msgBox.setText('Out of range of network')
msgBox.setInformativeText('Move back into range and press Retry, or press Cancel to quit the application')
msgBox.setStandardButtons(QMessageBox.Retry | QMessageBox.Cancel)
msgBox.setIcon(QMessageBox.Information)
msgBox.setDefaultButton(QMessageBox.Retry)
ret = msgBox.exec_()
if ret == QMessageBox.Retry:
QTimer.singleShot(0, self.session.open)
elif ret == QMessageBox.Cancel:
self.close()
def setupUi(self):
scene = QGraphicsScene(self)
self.view = QGraphicsView(scene, self)
self.view.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
self.view.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
self.view.setVisible(True)
self.view.setInteractive(True)
self.createPixmapIcon()
self.mapWidget = MapWidget(self.mapManager)
scene.addItem(self.mapWidget)
self.mapWidget.setCenter(QGeoCoordinate(-8.1, -34.95))
self.mapWidget.setZoomLevel(5)
#...
self.slider = QSlider(Qt.Vertical, self)
self.slider.setTickInterval(1)
self.slider.setTickPosition(QSlider.TicksBothSides)
self.slider.setMaximum(self.mapManager.maximumZoomLevel())
self.slider.setMinimum(self.mapManager.minimumZoomLevel())
self.slider.valueChanged[int].connect(self.sliderValueChanged)
self.mapWidget.zoomLevelChanged[float].connect(self.mapZoomLevelChanged)
mapControlLayout = QVBoxLayout()
self.mapWidget.mapTypeChanged.connect(self.mapTypeChanged)
for mapType in self.mapWidget.supportedMapTypes():
radio = QRadioButton(self)
if mapType == QGraphicsGeoMap.StreetMap:
radio.setText('Street')
elif mapType == QGraphicsGeoMap.SatelliteMapDay:
radio.setText('Sattelite')
elif mapType == QGraphicsGeoMap.SatelliteMapNight:
radio.setText('Sattelite - Night')
elif mapType == QGraphicsGeoMap.TerrainMap:
radio.setText('Terrain')
if mapType == self.mapWidget.mapType():
radio.setChecked(True)
radio.toggled[bool].connect(self.mapTypeToggled)
self.mapControlButtons.append(radio)
self.mapControlTypes.append(mapType)
mapControlLayout.addWidget(radio)
self.latitudeEdit = QLineEdit()
self.longitudeEdit = QLineEdit()
formLayout = QFormLayout()
示例6: PlotMainWindow
# 需要导入模块: from PySide.QtGui import QSlider [as 别名]
# 或者: from PySide.QtGui.QSlider import setMinimum [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
#.........这里部分代码省略.........
示例7: MainWindow
# 需要导入模块: from PySide.QtGui import QSlider [as 别名]
# 或者: from PySide.QtGui.QSlider import setMinimum [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):
#.........这里部分代码省略.........
示例8: MainWindow
# 需要导入模块: from PySide.QtGui import QSlider [as 别名]
# 或者: from PySide.QtGui.QSlider import setMinimum [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)
#.........这里部分代码省略.........
示例9: ParameterSlider
# 需要导入模块: from PySide.QtGui import QSlider [as 别名]
# 或者: from PySide.QtGui.QSlider import setMinimum [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)
示例10: MainWindow
# 需要导入模块: from PySide.QtGui import QSlider [as 别名]
# 或者: from PySide.QtGui.QSlider import setMinimum [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)
#.........这里部分代码省略.........
示例11: EegCarDashboardWindow
# 需要导入模块: from PySide.QtGui import QSlider [as 别名]
# 或者: from PySide.QtGui.QSlider import setMinimum [as 别名]
#.........这里部分代码省略.........
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)
self.steering_turn_range_slider = QSlider(Qt.Horizontal)
self.steering_turn_range_slider.setFocusPolicy(Qt.StrongFocus)
self.steering_turn_range_slider.setTickPosition(QSlider.TicksBothSides)
self.steering_turn_range_slider.setRange(1, 9)
# self.steering_slider.setMinimum(2)
# self.steering_slider.setMaximum(8)
self.steering_turn_range_slider.setMinimum(4)
self.steering_turn_range_slider.setMaximum(8)
self.steering_turn_range_slider.setTickInterval(1)
self.steering_turn_range_slider.setSingleStep(1)
self.steering_turn_range_slider.setValue(6)
self.steering_turn_range_slider.valueChanged.connect(self.steering_turn_range_slider.setValue)
self.connect(self.steering_turn_range_slider, SIGNAL("valueChanged(int)"), self.setSteeringTurnRangeValue)
self.steering_adjust_label = QLabel(' Home Adjust ', self)
self.steering_move_left_button = QPushButton('<Left+', self)
self.steering_current_pos = QLabel('0', self)
self.steering_move_right_button = QPushButton('-Right>', self)
self.steering_move_ticks = QLineEdit(str(5000))
self.steering_move_ticks.editingFinished.connect(self.set_steering_move_ticks_value)
self.steering_move_ticks.setMaxLength(5)
self.steering_move_ticks.setMaximumWidth(50)
self.steering_reset = QPushButton('Reset', self)
self.steering_move_left_button.clicked.connect(self.steering_move_left)
self.steering_move_right_button.clicked.connect(self.steering_move_right)
self.steering_reset.clicked.connect(self.steering_reset_position)
steering_layout = QHBoxLayout(self)
steering_layout.addWidget(self.steering_label)
# steering_layout.addWidget(self.steering_slider)
steering_layout.addWidget(self.steering_turn_range_slider)
steering_layout.addWidget(self.steering_adjust_label)
steering_layout.addWidget(self.steering_move_left_button)
steering_layout.addWidget(self.steering_current_pos)
示例12: SliderFloatWidget
# 需要导入模块: from PySide.QtGui import QSlider [as 别名]
# 或者: from PySide.QtGui.QSlider import setMinimum [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)
示例13: VolumeVisualizationMIDA
# 需要导入模块: from PySide.QtGui import QSlider [as 别名]
# 或者: from PySide.QtGui.QSlider import setMinimum [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
#.........这里部分代码省略.........
示例14: SelectorView
# 需要导入模块: from PySide.QtGui import QSlider [as 别名]
# 或者: from PySide.QtGui.QSlider import setMinimum [as 别名]
class SelectorView(QAbstractItemView):
"""View that sets selection by objects' relative size
"""
def __init__(self, parent=None):
# This view is not visible
super(SelectorView, self).__init__(None)
self._updating_selection = False
layout = QHBoxLayout()
layout.addWidget(QLabel("Select by size"))
self.slider = QSlider(Qt.Horizontal)
self.slider.setTickPosition(QSlider.TicksBothSides)
self.slider.setMinimum(-1)
self.slider.setMaximum(1)
self.slider.setTickInterval(1)
self.slider.setSingleStep(1)
self.slider.setEnabled(False)
self.slider.valueChanged.connect(self._slider_changed)
# Slider has stretch greater than zero to force left-alignment
layout.addWidget(self.slider, stretch=1)
self.widget = QWidget(parent)
self.widget.setLayout(layout)
def _update_slider(self, n):
"""Sets the slider range and enabled state
"""
self.slider.setEnabled(n > 0)
if n:
# Scale runs from -n to + n in steps of 1
self.slider.setMinimum(-n)
self.slider.setMaximum(n)
self.slider.setTickInterval(n)
self.slider.setSingleStep(1)
self.slider.setValue(0)
def _slider_changed(self, value):
"""QSlider.valueChanged slot
"""
debug_print('SelectorView._slider_changed', value)
if False and 0 == value:
# Do not alter selection if value is 0
pass
else:
# Order items by increasing / decreasing area and select the first n
model = self.model()
rows = xrange(model.rowCount())
def box_area(row):
rect = model.index(row, 0).data(RectRole)
return rect.width() * rect.height()
rows = sorted(rows, key=box_area, reverse=value < 0)
self._updating_selection = True
try:
update_selection_model(model, self.selectionModel(), rows[:abs(value)])
finally:
self._updating_selection = False
def single_step(self, larger):
"""Steps the slider up / down
"""
if self.slider.isEnabled():
action = QSlider.SliderSingleStepAdd if larger else QSlider.SliderSingleStepSub
self.slider.triggerAction(action)
def selectionChanged(self, selected, deselected):
"""QAbstractItemView virtual
"""
if not self._updating_selection:
self.slider.setValue(0)
def reset(self):
"""QAbstractItemView virtual
"""
debug_print('SelectorView.reset')
super(SelectorView, self).reset()
self._update_slider(self.model().rowCount())
def dataChanged(self, topLeft, bottomRight):
"""QAbstractItemView virtual
"""
debug_print('SelectorView.dataChanged')
self._update_slider(self.model().rowCount())
def rowsAboutToBeRemoved(self, parent, start, end):
"""QAbstractItemView slot
"""
debug_print('SelectorView.rowsAboutToBeRemoved')
self._update_slider(self.model().rowCount() - (end - start))