def __init__(self, edt_0, edt_1, edt_pos, spb_step): super(sliderCtrl, self).__init__() # - Init self.initValues = (edt_0, edt_1, edt_pos, spb_step) self.edt_0 = QtGui.QLineEdit(edt_0) self.edt_1 = QtGui.QLineEdit(edt_1) self.edt_pos = QtGui.QLineEdit(edt_pos) self.spb_step = QtGui.QSpinBox() self.spb_step.setValue(spb_step) self.sld_axis = QtGui.QSlider(QtCore.Qt.Horizontal) self.sld_axis.valueChanged.connect(self.sliderChange) self.refreshSlider() self.edt_0.editingFinished.connect(self.refreshSlider) self.edt_1.editingFinished.connect(self.refreshSlider) self.spb_step.valueChanged.connect(self.refreshSlider) self.edt_pos.editingFinished.connect(self.refreshSlider) # - Layout self.addWidget(self.sld_axis, 0, 0, 1, 5) self.addWidget(self.edt_pos, 0, 5, 1, 1) self.addWidget(QtGui.QLabel('Min:'), 1, 0, 1, 1) self.addWidget(self.edt_0, 1, 1, 1, 1) self.addWidget(QtGui.QLabel('Max:'), 1, 2, 1, 1) self.addWidget(self.edt_1, 1, 3, 1, 1) self.addWidget(QtGui.QLabel('Step:'), 1, 4, 1, 1) self.addWidget(self.spb_step, 1, 5, 1, 1)
def __init__(self, logPlayer): self.logPlayer = logPlayer w = QtGui.QWidget() w.windowTitle = 'LCM Log Playback' playButton = QtGui.QPushButton('Play') stopButton = QtGui.QPushButton('Stop') slider = QtGui.QSlider(QtCore.Qt.Horizontal) slider.maximum = int(logPlayer.getEndTime() * 100) text = QtGui.QLineEdit() text.text = '0.0' playButton.connect('clicked()', self.onPlay) stopButton.connect('clicked()', self.onStop) slider.connect('valueChanged(int)', self.onSlider) text.connect('returnPressed()', self.onText) l = QtGui.QHBoxLayout(w) l.addWidget(slider) l.addWidget(text) l.addWidget(playButton) l.addWidget(stopButton) self.slider = slider self.text = text self.widget = w self.widget.show()
def __init__(self, minValue=0.0, maxValue=1.0, resolution=1000): self._value = 0.0 self.spinbox = QtGui.QDoubleSpinBox() self.spinbox.setSuffix('s') self.slider = QtGui.QSlider(QtCore.Qt.Horizontal) self.playButton = QtGui.QPushButton('Play') self.setValueRange(minValue, maxValue) self.setResolution(resolution) self.slider.connect('valueChanged(int)', self._onSliderValueChanged) self.spinbox.connect('valueChanged(double)', self._onSpinboxValueChanged) self.playButton.connect('clicked()', self._onPlayClicked) self.widget = QtGui.QWidget() layout = QtGui.QHBoxLayout(self.widget) layout.addWidget(self.playButton) layout.addWidget(self.spinbox) layout.addWidget(self.slider) self.animationPrevTime = 0.0 self.animationRate = 1.0 self.animationRateTarget = 1.0 self.animationRateAlpha = 1.0 self.animationTimer = TimerCallback(callback=self._tick, targetFps=60) self.useRealTime = True self.callbacks = callbacks.CallbackRegistry(self.events._fields) self.eventFilter = PythonQt.dd.ddPythonEventFilter() self.eventFilter.connect('handleEvent(QObject*, QEvent*)', self._filterEvent) self.eventFilter.addFilteredEventType(QtCore.QEvent.MouseButtonPress) self.eventFilter.addFilteredEventType(QtCore.QEvent.MouseMove) self.slider.installEventFilter(self.eventFilter)
def interpolateReach(self): t = vtk.vtkTransform() handObj, handFrame = self.handFactory.placeHandModelWithTransform( t, self.view, side=self.side, name='grasp interpolation', parent='debug') handObj.setProperty('Alpha', 0.2) handFrame.setProperty('Visible', True) sliderMax = 100.0 def sliderChanged(sliderValue): sliderValue = sliderValue / float(sliderMax) t = self.splineInterp(sliderValue) handFrame.copyFrame(t) reachGoal = self.getReachGoalFrame(self.side) if reachGoal: reachGoal.copyFrame(t) self.slider = QtGui.QSlider(QtCore.Qt.Horizontal) self.slider.connect('valueChanged(int)', sliderChanged) self.slider.setMaximum(sliderMax) self.slider.show() self.slider.resize(500, 30) sliderChanged(sliderMax)
def __init__(self, parent): super(CollisionPairs, self).__init__(parent) self.plugin = parent # parent.widgetToRefresh.append(self) self.orderedPairs = list() self.pairToRow = dict() box = QtGui.QVBoxLayout(self) button = QtGui.QPushButton( "Toggle between collision and visual robot bodies", self) button.checkable = True button.connect("clicked(bool)", self.toggleVisual) box.addWidget(button) button = QtGui.QPushButton(QtGui.QIcon.fromTheme("view-refresh"), "Refresh list", self) button.connect("clicked()", self.refresh) box.addWidget(button) # Create table self.table = TableWidget(0, 6) self.table.setHorizontalHeaderLabels([ "Active", "Link 1", "Link 2", "Reason", "Current configuration", "% of collision" ]) if Qt.qVersion().startswith('4'): self.table.horizontalHeader().setResizeMode( QtGui.QHeaderView.Interactive) else: self.table.horizontalHeader().setSectionResizeMode( QtGui.QHeaderView.Interactive) self.table.selectionBehavior = QtGui.QAbstractItemView.SelectRows self.table.connect( "currentItemChanged(QTableWidgetItem*,QTableWidgetItem*)", self.currentItemChanged) box.addWidget(self.table) # "Number of random configuration (log scale)" self.sliderRandomCfg = QtGui.QSlider(Qt.Qt.Horizontal, self) self.sliderRandomCfg.setRange(20, 60) self.sliderRandomCfg.setValue(30) box.addWidget(self.sliderRandomCfg) button = QtGui.QPushButton("Compute percentage of collision", self) button.connect("clicked()", self.computePercentageOfCollision) box.addWidget(button) button = QtGui.QPushButton("Save to file...", self) button.connect("clicked()", self.writeToFile) box.addWidget(button) obj = self.plugin.main.getFromSlot("getHppIIOPurl") if obj is not None: obj.connect("configurationValidationStatus(QStringList)", self.currentBodyInCollisions) else: print("Could not find obj")
def makeForcesWidget(self, force): w = QtGui.QWidget() h = QtGui.QHBoxLayout(w) h.addWidget(QtGui.QLabel(force)) slider = QtGui.QSlider(QtCore.Qt.Horizontal) h.addWidget(slider) def onSliderChanged(value): print value, force slider.connect('valueChanged(int)', onSliderChanged) return w
def __init__(self, minValue=0.0, maxValue=1.0, resolution=1000): self.spinbox = QtGui.QDoubleSpinBox() self.spinbox.setSuffix('s') self.slider = QtGui.QSlider(QtCore.Qt.Horizontal) self.setResolution(resolution) self.setValueRange(minValue, maxValue) self.slider.connect('valueChanged(int)', self._onSliderValueChanged) self.spinbox.connect('valueChanged(double)', self._onSpinboxValueChanged) self.widget = QtGui.QWidget() layout = QtGui.QHBoxLayout(self.widget) layout.addWidget(self.spinbox) layout.addWidget(self.slider) self.animationTimer = None self.callbacks = callbacks.CallbackRegistry(self.events._fields)
def initgui(self): self.widget = QtGui.QSlider(QtCore.Qt.Horizontal) self.widget.connect('valueChanged(int)', self.sliderChanged) #naali proxywidget boilerplate uism = r.getUiSceneManager() self.proxywidget = r.createUiProxyWidget(self.widget) self.proxywidget.setWindowTitle(self.GUINAME) if not uism.AddWidgetToScene(self.proxywidget): print "Adding the ProxyWidget to the bar failed." #uism.AddWidgetToMenu(self.proxywidget, self.GUINAME, "Developer Tools") #to not flood the network self.prev_sync = 0
def initgui(self): self.widget = QtGui.QSlider(QtCore.Qt.Horizontal) self.widget.connect('valueChanged(int)', self.sliderChanged) #naali proxywidget boilerplate uism = naali.ui self.proxywidget = r.createUiProxyWidget(self.widget) self.proxywidget.setWindowTitle(self.GUINAME) if not uism.AddWidgetToScene(self.proxywidget): print "Adding the ProxyWidget to the bar failed." # TODO: Due to core UI API refactor AddWidgetToMenu doesn't exist anymore. #uism.AddWidgetToMenu(self.proxywidget, self.GUINAME, "Developer Tools") #to not flood the network self.prev_sync = 0
def setupPlayback(self): self.timer = TimerCallback(targetFps=30) self.timer.callback = self.tick playButtonFps = 1.0 / self.dt print "playButtonFPS", playButtonFps self.playTimer = TimerCallback(targetFps=playButtonFps) self.playTimer.callback = self.playTimerCallback self.sliderMovedByPlayTimer = False panel = QtGui.QWidget() l = QtGui.QHBoxLayout(panel) playButton = QtGui.QPushButton('Play/Pause') playButton.connect('clicked()', self.onPlayButton) slider = QtGui.QSlider(QtCore.Qt.Horizontal) slider.connect('valueChanged(int)', self.onSliderChanged) self.sliderMax = self.numTimesteps slider.setMaximum(self.sliderMax) self.slider = slider l.addWidget(playButton) l.addWidget(slider) w = QtGui.QWidget() l = QtGui.QVBoxLayout(w) l.addWidget(self.view) l.addWidget(panel) w.showMaximized() self.frame.connectFrameModified(self.updateDrawIntersection) self.updateDrawIntersection(self.frame) applogic.resetCamera(viewDirection=[0.2, 0, -1]) self.view.showMaximized() self.view.raise_() panel = screengrabberpanel.ScreenGrabberPanel(self.view) panel.widget.show() elapsed = time.time() - self.startSimTime simRate = self.counter / elapsed print "Total run time", elapsed print "Ticks (Hz)", simRate print "Number of steps taken", self.counter self.app.start()
def __init__(self, model, jointController, view): self.model = model self.jointController = jointController self.view = view self.colorNoHighlight = QtGui.QColor(190, 190, 190) self.colorHighlight = QtCore.Qt.red self.timer = TimerCallback() self.timer.callback = self.update self.timer.targetFps = 60 #self.timer.start() self.collisionStateIds = [] self.lastRobotStateMessage = None self.lastPlanMessage = None self.lastPlanCheckMessage = None lcmUtils.addSubscriber('EST_ROBOT_STATE', lcmdrc.robot_state_t, self.onRobotState) lcmUtils.addSubscriber('ROBOT_COLLISIONS', lcmdrc.robot_collision_array_t, self.onPlanCheck) lcmUtils.addSubscriber('CANDIDATE_MANIP_PLAN', lcmdrc.robot_plan_w_keyframes_t, self.onManipPlan) w = QtGui.QWidget() l = QtGui.QHBoxLayout(w) self.slider = QtGui.QSlider(QtCore.Qt.Horizontal) self.clearButton = QtGui.QPushButton('clear') self.zeroButton = QtGui.QPushButton('zero') l.addWidget(self.clearButton) l.addWidget(self.zeroButton) l.addWidget(self.slider) self.slider.connect(self.slider, 'valueChanged(int)', self.onSlider) self.slider.connect(self.zeroButton, 'clicked()', self.onZeroButtonClicked) self.slider.connect(self.clearButton, 'clicked()', self.onClearButtonClicked) ww = QtGui.QWidget() ll = QtGui.QVBoxLayout(ww) ll.addWidget(self.view) ll.addWidget(w) ll.setMargin(0) ww.show() ww.resize(800, 600) self.widget = ww
def buildTabWidget(self, jointGroups): self.slidersMap = {} self.labelMap = {} for group in jointGroups: groupName = group['name'] joints = group['joints'] labels = group['labels'] if groupName.lower() == 'base': continue if len(labels) != len(joints): print 'error, joints/labels mismatch for joint group:', name continue jointGroupWidget = QtGui.QWidget() gridLayout = QtGui.QGridLayout(jointGroupWidget) gridLayout.setColumnStretch(0, 1) for jointName, labelText in zip(joints, labels): label = QtGui.QLabel(labelText) numericLabel = QtGui.QLabel('0.0') slider = QtGui.QSlider(QtCore.Qt.Vertical) column = gridLayout.columnCount() gridLayout.addWidget(label, 0, column) gridLayout.addWidget(slider, 1, column) gridLayout.addWidget(numericLabel, 2, column) self.slidersMap[jointName] = slider self.labelMap[slider] = numericLabel gridLayout.setColumnStretch(gridLayout.columnCount(), 1) self.widget.addTab(jointGroupWidget, groupName) self.widget.usesScrollButtons = False self.signalMapper = QtCore.QSignalMapper() self.sliderMax = 1000.0 for jointName, slider in self.slidersMap.iteritems(): slider.connect('valueChanged(int)', self.signalMapper, 'map()') self.signalMapper.setMapping(slider, jointName) slider.setMaximum(self.sliderMax) self.signalMapper.connect('mapped(const QString&)', self.sliderChanged)
def __init__(self): Component.__init__(self) #loader = QUiLoader() #uism = r.getUiSceneManager() #self.canvas = r.createCanvas(EXTERNAL) group = QGroupBox() box = QVBoxLayout(group) button1 = QPushButton("Button 1", group) box.addWidget(button1) button2 = QPushButton("Button 2", group) box.addWidget(button2) slider = QtGui.QSlider(PythonQt.QtCore.Qt.Horizontal) box.addWidget(slider) slider.connect('valueChanged(int)', self.changed) #group.show() lineedit = QtGui.QLineEdit() box.addWidget(lineedit) lineedit.connect('textChanged(QString)', self.changed) self.widget = group uism = r.getUiSceneManager() uiprops = r.createUiWidgetProperty(1) uiprops.widget_name_ = "Test Widget" #uiprops.my_size_ = QSize(width, height) #self.proxywidget = uism.AddWidgetToScene(ui, uiprops) self.proxywidget = r.createUiProxyWidget(self.widget, uiprops) ##print widget, dir(widget) if not uism.AddProxyWidget(self.proxywidget): print "Adding the ProxyWidget to the bar failed." #self.canvas.Show() #QInputDialog.getText(None, "Mesh asset UUID", "Please give mesh asset UUID", QLineEdit.Normal, "") r.logInfo("TestGui inited.")
def __init__(self): Component.__init__(self) #loader = QUiLoader() #uism = r.getUiSceneManager() #self.canvas = r.createCanvas(EXTERNAL) group = QGroupBox() box = QVBoxLayout(group) button1 = QPushButton("Button 1", group) box.addWidget(button1) button2 = QPushButton("Button 2", group) box.addWidget(button2) slider = QtGui.QSlider(PythonQt.QtCore.Qt.Horizontal) box.addWidget(slider) slider.connect('valueChanged(int)', self.changed) #group.show() lineedit = QtGui.QLineEdit() box.addWidget(lineedit) lineedit.connect('textChanged(QString)', self.changed) self.widget = group #naali proxywidget boilerplate GUINAME = "Python Webmodule Test" uism = naali.ui self.proxywidget = r.createUiProxyWidget(self.widget) self.proxywidget.setWindowTitle(GUINAME) if not uism.AddWidgetToScene(self.proxywidget): print "Adding the ProxyWidget to the bar failed." # TODO: Due to core UI API refactor AddWidgetToMenu doesn't exist anymore. #uism.AddWidgetToMenu(self.proxywidget, GUINAME, "Developer Tools") #self.canvas.Show() #QInputDialog.getText(None, "Mesh asset UUID", "Please give mesh asset UUID", QLineEdit.Normal, "") r.logInfo("TestGui inited.")
# 04_Using_Qt.py import PythonQt.QtGui as pqt pqt.QMessageBox.information(0, 'Python', 'You have access to all of the Qt toolkit from the API!') w = pqt.QWidget() # Create main widget w.setGeometry(50,50, 250,400) text = pqt.QTextBrowser(w) # and text output display text.setOpenExternalLinks(True) text.show() text.setHtml('<h1>Welcome to the Python API!</h1>Although CsoundQt does not use PySide, most of the <a href="http://qt-project.org/wiki/PySide">PySide Docs</a> will apply!<br>You can use Qt to build interactive interfaces for CsoundQt scripts.') but = pqt.QPushButton("Button", w) but.move(5, 220) # This works but always try to use layouts instead! sli = pqt.QSlider(w) sli.move(100, 220) w.show()
def setupUi(self): self.objectTree = QtGui.QTreeWidget() self.propertiesPanel = PythonQt.dd.ddPropertiesPanel() sidePanel = QtGui.QSplitter(QtCore.Qt.Vertical) sidePanel.addWidget(self.objectTree) sidePanel.addWidget(self.propertiesPanel) sidePanel.setSizes([6, 4]) om.init(self.objectTree, self.propertiesPanel) self.view = PythonQt.dd.ddQVTKWidgetView() lcmgl.init(self.view) self.view.backgroundRenderer().SetBackground(1, 1, 1) self.view.backgroundRenderer().SetBackground2(1, 1, 1) def setTextProperty(caption): prop = caption.GetCaptionTextProperty() prop.ShadowOff() prop.BoldOn() prop.ItalicOff() prop.SetColor(0, 0, 0) axesActor = self.view.orientationMarkerWidget().GetOrientationMarker() setTextProperty(axesActor.GetXAxisCaptionActor2D()) setTextProperty(axesActor.GetYAxisCaptionActor2D()) setTextProperty(axesActor.GetZAxisCaptionActor2D()) w = QtGui.QWidget() l = QtGui.QHBoxLayout(w) self.slider = QtGui.QSlider(QtCore.Qt.Horizontal) self.clearButton = QtGui.QPushButton('clear') self.zeroButton = QtGui.QPushButton('zero') l.addWidget(self.clearButton) l.addWidget(self.zeroButton) l.addWidget(self.slider) self.slider.connect(self.slider, 'valueChanged(int)', self.onSlider) self.slider.connect(self.zeroButton, 'clicked()', self.onZeroButtonClicked) self.slider.connect(self.clearButton, 'clicked()', self.onClearButtonClicked) ww = QtGui.QWidget() ll = QtGui.QVBoxLayout(ww) ll.addWidget(self.view) #ll.addWidget(w) ll.setMargin(0) splitter = QtGui.QSplitter() splitter.addWidget(sidePanel) splitter.addWidget(ww) splitter.setSizes([0, 1]) splitter.show() splitter.resize(800, 600) self.widget = splitter self.widget.setWindowTitle('Drake Viewer')
v.render() showImageOverlay() drillDemo.pointerTracker = createPointerTracker() drillDemo.projectCallback = projectDrillDemoInCamera drillYawPreTransform = vtk.vtkTransform() drillYawPreTransform.PostMultiply() def onDrillYawSliderChanged(value): yawOffset = value - 180.0 drillDemo.drillYawSliderValue = yawOffset drillDemo.updateDrillToHand() app.getMainWindow().macrosToolBar().addWidget(QtGui.QLabel('drill yaw:')) slider = QtGui.QSlider(QtCore.Qt.Horizontal) slider.setMaximum(360) slider.setValue(180) slider.setMaximumWidth(200) slider.connect('valueChanged(int)', onDrillYawSliderChanged) app.getMainWindow().macrosToolBar().addWidget(slider) def sendPointerPrep(): drillDemo.planPointerPressGaze(-0.05) def sendPointerPress(): drillDemo.planPointerPressGaze(0.01) def sendPointerPressDeep():
def _makeDrillWizard(self): drillWizard = QtGui.QGroupBox('Drill Segmentation') l = QtGui.QVBoxLayout(drillWizard) l.addWidget( _makeButton('segment drill aligned with table', startDrillAutoSegmentationAlignedWithTable)) l.addWidget( _makeButton('segment target using wall center', segmentDrillWallFromWallCenter)) self.drillUpdater = TimerCallback() self.drillUpdater.targetFps = 30 self.drillUpdater.callback = self.moveDrillToHand hw = QtGui.QWidget() hl = QtGui.QHBoxLayout(hw) hl.setMargin(0) self.moveDrillToHandButton = _makeButton('move drill to hand', self.onMoveDrillToHandClicked) self.moveDrillToHandButton.checkable = True hl.addWidget(self.moveDrillToHandButton) self.handCombo = QtGui.QComboBox() self.handCombo.addItem('left') self.handCombo.addItem('right') hl.addWidget(self.handCombo) hl.addWidget(_makeButton('flip z', self.flipDrill)) self.drillFlip = False l.addWidget(hw) # In Degrees self.drillRotationSlider = QtGui.QSlider(QtCore.Qt.Horizontal) self.drillRotationSlider.setMinimum(-90) self.drillRotationSlider.setMaximum(270) self.drillRotationSlider.setValue(90) # All in MM self.drillOffsetSlider = QtGui.QSlider(QtCore.Qt.Horizontal) self.drillOffsetSlider.setMinimum(-100) self.drillOffsetSlider.setMaximum(100) self.drillOffsetSlider.setValue(30) self.drillDepthOffsetSlider = QtGui.QSlider(QtCore.Qt.Horizontal) self.drillDepthOffsetSlider.setMinimum(-10) self.drillDepthOffsetSlider.setMaximum(90) self.drillDepthOffsetSlider.setValue(40) self.drillLateralOffsetSlider = QtGui.QSlider(QtCore.Qt.Horizontal) self.drillLateralOffsetSlider.setMinimum(-50) self.drillLateralOffsetSlider.setMaximum(50) self.drillLateralOffsetSlider.setValue(-23) hw = QtGui.QWidget() hl = QtGui.QHBoxLayout(hw) hl.setMargin(0) hl.addWidget(self.drillRotationSlider) hl.addWidget(self.drillOffsetSlider) hw.connect(self.drillRotationSlider, 'valueChanged(int)', self.moveDrillToHand) hw.connect(self.drillOffsetSlider, 'valueChanged(int)', self.moveDrillToHand) l.addWidget(hw) hw = QtGui.QWidget() hl = QtGui.QHBoxLayout(hw) hl.setMargin(0) hl.addWidget(self.drillDepthOffsetSlider) hl.addWidget(self.drillLateralOffsetSlider) hw.connect(self.drillDepthOffsetSlider, 'valueChanged(int)', self.moveDrillToHand) hw.connect(self.drillLateralOffsetSlider, 'valueChanged(int)', self.moveDrillToHand) l.addWidget(hw) hw = QtGui.QWidget() hl = QtGui.QHBoxLayout(hw) hl.setMargin(0) hl.addWidget( _makeButton('segment button', startDrillButtonSegmentation)) hl.addWidget(_makeButton('segment tip', startPointerTipSegmentation)) self.drillFlip = False l.addWidget(hw) l.addWidget(QtGui.QLabel('')) hw = QtGui.QWidget() hl = QtGui.QHBoxLayout(hw) hl.addWidget(QtGui.QLabel('right angle:')) hl.setMargin(0) self.rightAngleCombo = QtGui.QComboBox() self.rightAngleCombo.addItem(DRILL_TRIANGLE_BOTTOM_LEFT) self.rightAngleCombo.addItem(DRILL_TRIANGLE_BOTTOM_RIGHT) self.rightAngleCombo.addItem(DRILL_TRIANGLE_TOP_LEFT) self.rightAngleCombo.addItem(DRILL_TRIANGLE_TOP_RIGHT) hl.addWidget(self.rightAngleCombo) l.addWidget(hw) l.addWidget( _makeButton('segment drill on table', startDrillAutoSegmentation)) l.addWidget( _makeButton('segment wall', self.segmentDrillWallConstrained)) l.addWidget(_makeButton('refit wall', startRefitWall)) l.addWidget(QtGui.QLabel('')) l.addStretch() return drillWizard