def showError(self, title, text): self.showMessage(title, text) if not self.quietModeCheckBox.checked: box = QtGui.QMessageBox() box.setWindowTitle(title) box.setText(text) box.exec_() return
def __init__(self, name, geom, polyData, parentTransform): self.polyDataItem = vis.PolyDataItem(name, polyData, view=None) self.polyDataItem.setProperty('Alpha', geom.color[3]) self.polyDataItem.actor.SetTexture( Geometry.TextureCache.get(Geometry.getTextureFileName(polyData))) if self.polyDataItem.actor.GetTexture(): self.polyDataItem.setProperty('Color', QtGui.QColor(255, 255, 255)) else: self.polyDataItem.setProperty( 'Color', QtGui.QColor(geom.color[0] * 255, geom.color[1] * 255, geom.color[2] * 255)) if USE_SHADOWS: self.polyDataItem.shadowOn()
def __init__(self, handlers): # Create widget and layouts self._widget = QtGui.QWidget() self._image_widgets = map(ImageWidget, handlers) self._layout = QtGui.QHBoxLayout(self._widget) for image_widget in self._image_widgets: self._layout.addWidget(image_widget.get_widget()) self._layout.setContentsMargins(0, 0, 0, 0) default_width = 640 default_height = 480 dim = [ default_width * len(self._image_widgets), default_height] self._widget.resize(*dim) self._widget.show()
def getIcon(iconId): ''' Return a QIcon given an icon id as a string or int. ''' if type(iconId) == int: return QtGui.QApplication.style().standardIcon(iconId) else: return QtGui.QIcon(iconId)
def _setupPropertiesPanel(self): l = QtGui.QVBoxLayout(self.ui.propertyFrame) l.setMargin(0) self.propertiesPanel = PythonQt.dd.ddPropertiesPanel() self.propertiesPanel.setBrowserModeToWidget() l.addWidget(self.propertiesPanel) self.panelConnector = propertyset.PropertyPanelConnector( self.params.properties, self.propertiesPanel)
def showViewTabContextMenu(view, tabBar, menuPosition): def onPopOut(): getViewManager().popOut(view) menu = QtGui.QMenu(tabBar) menu.addAction('Pop out').connect('triggered()', onPopOut) menu.popup(menuPosition)
def setTableHeaders(self, table, columnNames): columnNum = len(columnNames) table.setColumnCount(columnNum) for i in xrange(columnNum): twi = QtGui.QTableWidgetItem(columnNames[i]) table.setHorizontalHeaderItem(i, twi) self.twiHeadersList.append(twi) return
def main(globalsDict=None): from director import mainwindowapp from PythonQt import QtCore, QtGui app = mainwindowapp.construct() app.gridObj.setProperty('Visible', True) app.viewOptions.setProperty('Orientation widget', False) app.viewOptions.setProperty('View angle', 30) app.sceneBrowserDock.setVisible(False) app.propertiesDock.setVisible(False) app.mainWindow.setWindowTitle('Depth Scanner') app.mainWindow.show() app.mainWindow.resize(920, 600) app.mainWindow.move(0, 0) view = app.view view.setParent(None) mdiArea = QtGui.QMdiArea() app.mainWindow.setCentralWidget(mdiArea) subWindow = mdiArea.addSubWindow(view) subWindow.setMinimumSize(300, 300) subWindow.setWindowTitle('Camera image') subWindow.resize(640, 480) mdiArea.tileSubWindows() #affordanceManager = affordancemanager.AffordanceObjectModelManager(view) depthScanner = DepthScanner(view) depthScanner.update() dock = app.app.addWidgetToDock(depthScanner.imageView.view, QtCore.Qt.RightDockWidgetArea) dock.setMinimumWidth(300) dock.setMinimumHeight(300) dock = app.app.addWidgetToDock(depthScanner.pointCloudView, QtCore.Qt.RightDockWidgetArea) dock.setMinimumWidth(300) dock.setMinimumHeight(300) # add some test data def addTestData(): d = DebugData() d.addArrow((0, 0, 0), (0, 0, 1), color=[1, 0, 0]) d.addArrow((0, 0, 1), (0, .5, 1), color=[0, 1, 0]) vis.showPolyData(d.getPolyData(), 'debug data', colorByName='RGB255') view.resetCamera() addTestData() # xvfb command # /usr/bin/Xvfb :99 -ac -screen 0 1280x1024x16 if globalsDict is not None: globalsDict.update(dict(app=app, view=view, depthScanner=depthScanner)) app.app.start(restoreWindow=False)
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, parent): super(_StepByStepSolverTab, self).__init__ (parent) self.plugin = parent box = QtGui.QVBoxLayout(self) b = QtGui.QPushButton(self) b.text = "Initialize step by step sequence" box.addWidget(b) b.connect("clicked()", self.prepareSolveStepByStep) w = QtGui.QWidget(self) hl = QtGui.QHBoxLayout(w) self.stepCount = QtGui.QSpinBox(w) self.stepCount.setRange(1, 1000) self.value = 1 hl.addWidget(self.stepCount) b = QtGui.QPushButton(self) b.text = "Execute N step" hl.addWidget(b) b.connect("clicked()", self.executeOneStep) box.addWidget(w) b = QtGui.QPushButton(self) b.text = "Finalize" box.addWidget(b) b.connect("clicked()", self.finishSolveStepByStep)
def updateLayout(self): self.storeButtons = [] self.flyButtons = [] w = QtGui.QWidget() l = QtGui.QGridLayout(w) for i in range(self.numberOfBookmarks): storeButton = QtGui.QPushButton('set') flyButton = QtGui.QPushButton('fly') textEdit = QtGui.QLineEdit('camera %d' % i) storeButton.connect('clicked()', self.storeMapper, 'map()') flyButton.connect('clicked()', self.flyMapper, 'map()') self.storeMapper.setMapping(storeButton, storeButton) self.flyMapper.setMapping(flyButton, flyButton) self.storeButtons.append(storeButton) self.flyButtons.append(flyButton) l.addWidget(storeButton, i, 0) l.addWidget(flyButton, i, 1) l.addWidget(textEdit, i, 2) flyButton.setEnabled(False) self.flySpeedSpinner = QtGui.QDoubleSpinBox() self.flySpeedSpinner.setMinimum(0) self.flySpeedSpinner.setMaximum(60) self.flySpeedSpinner.setDecimals(1) self.flySpeedSpinner.setSingleStep(0.5) self.flySpeedSpinner.setSuffix(' seconds') self.flySpeedSpinner.setValue(1.0) l.addWidget(QtGui.QLabel('Fly speed:'), i+1, 0, 2) l.addWidget(self.flySpeedSpinner, i+1, 2) self.widget.setWidget(w)
def showToolbarWidget(self): if app.getMainWindow() is None: return if self.toolbarWidget: self.execButton.setEnabled(True) return w = QtGui.QWidget() l = QtGui.QHBoxLayout(w) label = QtGui.QLabel('Walk plan:') execButton = QtGui.QPushButton('') execButton.setIcon(QtGui.QApplication.style().standardIcon(QtGui.QStyle.SP_MediaPlay)) clearButton = QtGui.QPushButton('') clearButton.setIcon(QtGui.QApplication.style().standardIcon(QtGui.QStyle.SP_TrashIcon)) stopButton = QtGui.QPushButton('') stopButton.setIcon(QtGui.QApplication.style().standardIcon(QtGui.QStyle.SP_MediaStop)) l.addWidget(label) l.addWidget(execButton) l.addWidget(stopButton) l.addWidget(clearButton) l.setContentsMargins(0, 0, 0, 0) execButton.setShortcut(QtGui.QKeySequence('Ctrl+Return')) execButton.connect('clicked()', self.onExecClicked) clearButton.connect('clicked()', self.onClearClicked) stopButton.connect('clicked()', self.sendStopWalking) self.execButton = execButton self.stopButton = stopButton self.toolbarWidget = app.getMainWindow().toolBar().addWidget(w) self.execButton.show()
def __init__(self): self.active = False if not PyQt4: self.start() else: self.win = win = QtGui.QWidget( ) # note, need to save pointer to win win.setWindowTitle('pyvnc-client') win.resize(320, 50) win.move(400, 40) b = _VNCClient_connect(win) b._client = self b.setText('connect') b.setGeometry(10, 10, 70, 30) e = QtGui.QLineEdit(win) e.setText('localhost') e.setGeometry(90, 10, 200, 24) b._host = e win.show()
def __init__(self, parent): super(GraspFinder, self).__init__(parent) self.plugin = parent box = QtGui.QVBoxLayout(self) # Create group self.instructions = QtGui.QLabel("Click on Run") box.addWidget(self.instructions) runButton = self.makeButton("Run", True) runButton.connect("toggled(bool)", self.run) box.addWidget(runButton) optimize = self.makeButton("Optimize", False) optimize.connect("clicked()", self.optimize) box.addWidget(optimize) self.P = [] self.Q = [] self.names = []
def _makeTableWidgetItem(lbl, checkable, editable): item = QtGui.QTableWidgetItem(lbl) f = Qt.Qt.ItemIsEnabled | Qt.Qt.ItemIsSelectable if editable: f = f | Qt.Qt.ItemIsEditable if checkable: f = f | Qt.Qt.ItemIsUserCheckable item.setFlags(f) return item
def __init__(self, parent_item, folder_name): """ Initialize Folder Items unpopulated. Args: parent_item (ContainerItem): Container Item parent for Folder Item. folder_name (str): A name for the folder item (e.g. SESSIONS). """ super(FolderItem, self).__init__() self.source_dir = parent_item.source_dir icon_path = "Resources/Icons/folder.png" icon = QtGui.QIcon(str(self.source_dir / icon_path)) self.parent_item = parent_item self.parent_container = parent_item.container self.folderItem = QtGui.QStandardItem() self.setText(folder_name) self.setIcon(icon) parent_item.appendRow(self)
def init(objectTree=None, propertiesPanel=None): if _t._treeWidget: return objectTree = objectTree or QtGui.QTreeWidget() propertiesPanel = propertiesPanel or PythonQt.dd.ddPropertiesPanel() _t.init(objectTree, propertiesPanel)
def toQProperty(propertyName, propertyValue): if 'color' in propertyName.lower() and isinstance(propertyValue, (list, tuple)) and len(propertyValue) == 3: return QtGui.QColor(propertyValue[0]*255.0, propertyValue[1]*255.0, propertyValue[2]*255.0) elif isinstance(propertyValue, np.float): return float(propertyValue) elif isinstance(propertyValue, (list, tuple, np.ndarray)) and len(propertyValue) and isinstance(propertyValue[0], np.float): return [float(x) for x in propertyValue] else: return propertyValue
def addWidgetToDock(self, widget, dockArea, visible=True): dock = QtGui.QDockWidget() dock.setWidget(widget) dock.setWindowTitle(widget.windowTitle) dock.setObjectName(widget.windowTitle + ' Dock') dock.setVisible(visible) self.mainWindow.addDockWidget(dockArea, dock) self.addWidgetToViewMenu(dock) return dock
def updatePolyDataItemProperties(self, polyDataItem): polyDataItem._updateColorByProperty() polyDataItem.setProperty('Alpha', self.color[3]) polyDataItem.actor.SetTexture( Geometry.TextureCache.get( Geometry.getTextureFileName(self.polyData))) if polyDataItem.actor.GetTexture(): polyDataItem.setProperty('Color', QtGui.QColor(255, 255, 255)) else: polyDataItem.setProperty( 'Color', QtGui.QColor(*(255 * np.asarray(self.color[:3])))) if USE_SHADOWS: polyDataItem.shadowOn()
def _makeDebrisWizard(self): debrisWizard = QtGui.QWidget() lumberSelection = PythonQt.dd.ddLumberSelection() lumberSelection.connect('lumberSelected(int)', self.onDebrisLumberSelected) l = QtGui.QVBoxLayout(debrisWizard) l.addWidget(lumberSelection) #l.addWidget(_makeButton('segment cinderblock wall', startSegmentDebrisWall)) #l.addWidget(_makeButton('segment cinderblock wall manual', startSegmentDebrisWallManual)) l.addWidget(_makeButton('segment truss', startTrussSegmentation)) self.lockAffordanceButton = _makeButton('lock affordance to hand', self.onLockAffordanceToHand) self.lockAffordanceButton.checkable = True l.addWidget(self.lockAffordanceButton) l.addStretch() return debrisWizard
def __init__(self, maxStep): super(ProgressDialog, self).__init__() self.setWindowTitle('Exporting Images...') self.cancelCpy = False layout = QtGui.QVBoxLayout() self.setLayout(layout) self.pbar = QtGui.QProgressBar(self) self.pbar.setRange(0, maxStep) self.pbar.setGeometry(30, 40, 200, 25) self.pbar.connect("valueChanged (int)", self.status) layout.addWidget(self.pbar) self.cBtn = QtGui.QPushButton("cancel") self.cBtn.connect('clicked()', lambda: self.cancelCopy()) layout.addWidget(self.cBtn)
def showDialog(self): self.d = QtGui.QDialog() buttons = QtGui.QDialogButtonBox() buttons.addButton("Yes", QtGui.QDialogButtonBox.AcceptRole) buttons.addButton("No", QtGui.QDialogButtonBox.RejectRole) buttons.connect("accepted()", self.d.accept) buttons.connect("rejected()", self.d.reject) l = QtGui.QVBoxLayout(self.d) l.addWidget(QtGui.QLabel(self.message)) l.addWidget(buttons) self.d.setAttribute(QtCore.Qt.WA_QuitOnClose, False) self.d.show() self.d.raise_() self.d.connect("accepted()", self.onYes) self.d.connect("rejected()", self.onNo)
def addToolBarAction(self, toolBar, text, icon=None, callback=None): if isinstance(icon, str): icon = QtGui.QIcon(icon) action = toolBar.addAction(icon, text) if callback: action.connect('triggered()', callback) return action
def testButton(): def makeSphere(): smp.Sphere() smp.Show() smp.ResetCamera() smp.Render() global button button = QtGui.QPushButton('sphere') button.connect('clicked()', makeSphere) button.show()
def showDialog(self): self.d = QtGui.QDialog() buttons = QtGui.QDialogButtonBox() buttons.addButton('Yes', QtGui.QDialogButtonBox.AcceptRole) buttons.addButton('No', QtGui.QDialogButtonBox.RejectRole) buttons.connect('accepted()', self.d.accept) buttons.connect('rejected()', self.d.reject) l = QtGui.QVBoxLayout(self.d) l.addWidget(QtGui.QLabel(self.properties.message)) l.addWidget(buttons) self.d.setAttribute(QtCore.Qt.WA_QuitOnClose, False) self.d.show() self.d.raise_() self.d.connect('accepted()', self.accept) self.d.connect('rejected()', self.reject)
def __init__(self, view): self.bookmarks = CameraBookmarks(view) self.widget = QtGui.QScrollArea() self.widget.setWindowTitle('Camera Bookmarks') self.storeMapper = QtCore.QSignalMapper() self.flyMapper = QtCore.QSignalMapper() self.storeMapper.connect('mapped(QObject*)', self.onStoreCamera) self.flyMapper.connect('mapped(QObject*)', self.onFlyToCamera) self.numberOfBookmarks = 8 self.updateLayout()
def __init__(self, statusBar): self.label = QtGui.QLabel('') statusBar.addPermanentWidget(self.label) self.sub = lcmUtils.addSubscriber('IIWA_STATUS', lcmdrake.lcmt_iiwa_status, self.onIiwaStatus) self.sub.setSpeedLimit(30) self.label.text = '[waiting for sim status]'
def _makeDoorWizard(self): wizard = QtGui.QWidget() l = QtGui.QVBoxLayout(wizard) l.addWidget( _makeButton( 'segment door handle - left', functools.partial(startDoorHandleSegmentation, 'door_handle_left'))) l.addWidget( _makeButton( 'segment door handle - right', functools.partial(startDoorHandleSegmentation, 'door_handle_right'))) l.addWidget( _makeButton( 'segment door frame', functools.partial(startDoorHandleSegmentation, 'doorframe'))) l.addStretch() return wizard
def buildBYUSelf(): #Menu Shelf Creation Set mari.actions.create("TestAction", "mari.utils.message("Test")") mari.menus.addAction(action,"MariWindow/BYU Tools") action.setShortcut("Ctrl + H") #SubDirs that need to be created... Projectors, Project Maps(Bypass texture Tool!)?, TurnTabels, Refrence #Palette Creation Set gui = PythonQt.QtGui mainPal = mari.palettes.create("BYU Mari Tools") widget = gui.QWidget() mainPal.setBodyWidget(widget) layout = gui.QVBoxLayout() widget.setLayout(layout) layout.addWidget(qui.QLabel("Welcome to the palette")) createProjectPB = qui.QPushButton("Create Project") layout.addWidget(createProjectPB) connect(createProjectPB.clicked, projectCreate) mainPal.show