def _makeTerrainWizard(self): terrainWizard = QtGui.QWidget() self.cinderBlockButton = QtGui.QToolButton() self.cinderBlock2Button = QtGui.QToolButton() self.cinderBlockButton.setIcon(QtGui.QIcon(':/images/cinderblock.png')) self.cinderBlock2Button.setIcon(QtGui.QIcon(':/images/cinderblock_double.png')) self.cinderBlockButton.setIconSize(QtCore.QSize(60,60)) self.cinderBlock2Button.setIconSize(QtCore.QSize(60,60)) self.cinderBlockButton.connect('clicked()', functools.partial(self.onTerrainCinderblockSelected, self.cinderBlockButton)) self.cinderBlock2Button.connect('clicked()', functools.partial(self.onTerrainCinderblockSelected, self.cinderBlock2Button)) buttons = QtGui.QWidget() l = QtGui.QHBoxLayout(buttons) l.setMargin(0) l.addStretch() l.addWidget(self.cinderBlockButton) l.addWidget(self.cinderBlock2Button) l.addStretch() l = QtGui.QVBoxLayout(terrainWizard) l.addWidget(buttons) l.addWidget(_makeButton('double wide', functools.partial(startInteractiveLineDraw, [0.1905*2, 0.149225]))) l.addStretch() return terrainWizard
def addChannel(self): '''Adds Channel Items''' parent = self.addObject() resolution = '%sk' % str(sceneData('res'))[0] bitDepth = '%sbit' % sceneData('depth') channel = sceneData('chan') chan_items = [] ## Check for existing try: for index in range(parent.childCount()): child = parent.child(index) if child.text(0) == channel: chanItem = child return chanItem except: pass ## Create and Build Channel items chanItem = QtGui.QTreeWidgetItem([channel, '', bitDepth, resolution]) chanItem.setTextAlignment(1, 0x0004) chanItem.setTextAlignment(2, 0x0004) chanItem.setIcon(0, QtGui.QIcon('%s/Channel.png' % icon_path)) chanItem.setData(0, 32, 'CHANNEL') chan_items.append(chanItem) parent.insertChildren(0, chan_items) return chanItem
def addDockAction(actionName, actionText, iconPath, append=False): """ Get a dock action in the right-hand action toolbar. If it does not exist, it will be created :param actionName: The name of the action, the objectName field of the QAction :param actionText: The text shown on mouseover of the action and also when viewing the right-click menu :param iconPath: The path to the icon to display for this action :param append: If true, put this action at the bottom of the toolbar rather than at the top :return: The QAction added to the dock, or the existing action if it was already there """ action = getToolBarActions().get(actionName) if action is None: assert os.path.isfile(iconPath) action = QtGui.QAction(QtGui.QIcon(iconPath), actionText, None) action.objectName = actionName action.checkable = True toolbar = getMainWindow().panelToolBar() if append: toolbar.addAction(action) else: toolbar.insertAction(toolbar.actions()[0], action) return action
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 __init__(self): om.init() self.view = PythonQt.dd.ddQVTKWidgetView() # init grid self.gridObj = vis.showGrid(self.view, parent='scene') self.gridObj.setProperty('Surface Mode', 'Surface with edges') self.gridObj.setProperty('Color', [0,0,0]) self.gridObj.setProperty('Alpha', 0.1) # init view options self.viewOptions = vis.ViewOptionsItem(self.view) om.addToObjectModel(self.viewOptions, parentObj=om.findObjectByName('scene')) self.viewOptions.setProperty('Background color', [0.3, 0.3, 0.35]) self.viewOptions.setProperty('Background color 2', [0.95,0.95,1]) # setup camera applogic.setCameraTerrainModeEnabled(self.view, True) applogic.resetCamera(viewDirection=[-1, 0, -0.3], view=self.view) # add view behaviors viewBehaviors = viewbehaviors.ViewBehaviors(self.view) applogic._defaultRenderView = self.view self.mainWindow = QtGui.QMainWindow() self.mainWindow.setCentralWidget(self.view) self.mainWindow.resize(768 * (16/9.0), 768) self.mainWindow.setWindowTitle('Drake Visualizer') self.mainWindow.setWindowIcon(QtGui.QIcon(':/images/drake_logo.png')) self.mainWindow.show() self.drakeVisualizer = DrakeVisualizer(self.view) self.lcmglManager = lcmgl.LCMGLManager(self.view) if lcmgl.LCMGL_AVAILABLE else None self.screenGrabberPanel = ScreenGrabberPanel(self.view) self.screenGrabberDock = self.addWidgetToDock(self.screenGrabberPanel.widget, QtCore.Qt.RightDockWidgetArea) self.screenGrabberDock.setVisible(False) self.cameraBookmarksPanel = camerabookmarks.CameraBookmarkWidget(self.view) self.cameraBookmarksDock = self.addWidgetToDock(self.cameraBookmarksPanel.widget, QtCore.Qt.RightDockWidgetArea) self.cameraBookmarksDock.setVisible(False) model = om.getDefaultObjectModel() model.getTreeWidget().setWindowTitle('Scene Browser') model.getPropertiesPanel().setWindowTitle('Properties Panel') model.setActiveObject(self.viewOptions) self.sceneBrowserDock = self.addWidgetToDock(model.getTreeWidget(), QtCore.Qt.LeftDockWidgetArea) self.propertiesDock = self.addWidgetToDock(self.wrapScrollArea(model.getPropertiesPanel()), QtCore.Qt.LeftDockWidgetArea) self.sceneBrowserDock.setVisible(False) self.propertiesDock.setVisible(False) applogic.addShortcut(self.mainWindow, 'Ctrl+Q', self.applicationInstance().quit) applogic.addShortcut(self.mainWindow, 'F1', self._toggleObjectModel) applogic.addShortcut(self.mainWindow, 'F2', self._toggleScreenGrabber) applogic.addShortcut(self.mainWindow, 'F3', self._toggleCameraBookmarks) applogic.addShortcut(self.mainWindow, 'F8', applogic.showPythonConsole)
def _dblclicked(self): if hasattr(self.parent_container, "analyses"): self.parent_container = self.parent_container.reload() icon_path = "Resources/Icons/folder.png" icon = QtGui.QIcon(str(self.source_dir / icon_path)) self.setIcon(icon) if not self.hasChildren() and self.parent_container.analyses: for analysis in self.parent_container.analyses: AnalysisItem(self, analysis)
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 _makeFirehoseWizard(self): firehoseWizard = QtGui.QWidget() segmentButton = QtGui.QToolButton() segmentButton.setIcon(QtGui.QIcon(':/images/wye.png')) segmentButton.setIconSize(QtCore.QSize(60,60)) segmentButton.connect('clicked()', self.onSegmentWye) l = QtGui.QVBoxLayout(firehoseWizard) l.addWidget(segmentButton) l.addWidget(_makeButton('segment hose nozzle', startHoseNozzleSegmentation)) l.addStretch() return firehoseWizard
def initMainWindow(self, fields): organizationName = "RobotLocomotion" applicationName = "DirectorMainWindow" windowTitle = "Director App" if hasattr(fields, "organizationName"): organizationName = fields.organizationName if hasattr(fields, "applicationName"): applicationName = fields.applicationName if hasattr(fields, "windowTitle"): windowTitle = fields.windowTitle MainWindowApp.applicationInstance().setOrganizationName( organizationName) MainWindowApp.applicationInstance().setApplicationName(applicationName) app = MainWindowApp() app.mainWindow.setCentralWidget(fields.view) app.mainWindow.setWindowTitle(windowTitle) app.mainWindow.setWindowIcon(QtGui.QIcon(":/images/drake_logo.png")) sceneBrowserDock = app.addWidgetToDock( fields.objectModel.getTreeWidget(), QtCore.Qt.LeftDockWidgetArea, visible=True, ) propertiesDock = app.addWidgetToDock( app.wrapScrollArea(fields.objectModel.getPropertiesPanel()), QtCore.Qt.LeftDockWidgetArea, visible=True, ) app.addViewMenuSeparator() def toggleObjectModelDock(): newState = not sceneBrowserDock.visible sceneBrowserDock.setVisible(newState) propertiesDock.setVisible(newState) applogic.addShortcut(app.mainWindow, "F1", toggleObjectModelDock) # applogic.addShortcut(app.mainWindow, 'F8', app.showPythonConsole) return FieldContainer( app=app, mainWindow=app.mainWindow, sceneBrowserDock=sceneBrowserDock, propertiesDock=propertiesDock, toggleObjectModelDock=toggleObjectModelDock, commandLineArgs=drcargs.args(), )
def initPhenoVein(): # load default settings ctx.field("SettingsManagerGeneralParameters.load").touch() # load application icon icon = QtGui.QIcon(ctx.expandFilename("$(LOCAL)/Logo/icon.png")) ctx.window().widget().setWindowIcon(icon) ##set transparencies #setTransparancyValuesActiveSkel() #setTransparancyValuesDeleteSkel() ctx.field("phenoVein_Skeletonization.loadThreshold").touch() ctx.field("phenoVein_WriteResultsToFiles.currentVersionNumber").setValue( ctx.field("currentVersionNumber").value) return
def __init__(self, parent_item): """ Initialize AnalysisFolderItem unpopulated. Args: parent_item (ContainerItem): Container that hosts analyses (projects, subjects, sessions, acquisitions) """ folder_name = "ANALYSES" super(AnalysisFolderItem, self).__init__(parent_item, folder_name) # TODO: put folder w/ download icon icon_path = "Resources/Icons/dwnld-folder.png" icon = QtGui.QIcon(str(self.source_dir / icon_path)) self.setIcon(icon) # TODO: ensure that these work. self.setToolTip("Double-Click to list Analyses.")
def addObject(self): '''Adds Object Items''' geo = sceneData('geo') geo_items = [] ## Check for existing try: objectItem = self.exportList.findItems(geo, 0, 0)[0] return objectItem ## Create and Build Object items except: objectItem = QtGui.QTreeWidgetItem([geo, '', '', '']) objectItem.setIcon(0, QtGui.QIcon('%s/Objects.png' % icon_path)) objectItem.setData(0, 32, 'OBJECT') geo_items.append(objectItem) self.exportList.insertTopLevelItems(0, geo_items) objectItem.setExpanded(True) return objectItem
def initMainWindow(self, fields): from director import viewcolors organizationName = 'RobotLocomotion' applicationName = 'DirectorMainWindow' if hasattr(fields, 'organizationName'): organizationName = fields.organizationName if hasattr(fields, 'applicationName'): applicationName = fields.applicationName MainWindowApp.applicationInstance().setOrganizationName( organizationName) MainWindowApp.applicationInstance().setApplicationName(applicationName) app = MainWindowApp() app.mainWindow.setCentralWidget(fields.view) app.mainWindow.setWindowTitle('Director App') app.mainWindow.setWindowIcon(QtGui.QIcon(':/images/drake_logo.png')) sceneBrowserDock = app.addWidgetToDock( fields.objectModel.getTreeWidget(), QtCore.Qt.LeftDockWidgetArea, visible=True) propertiesDock = app.addWidgetToDock(app.wrapScrollArea( fields.objectModel.getPropertiesPanel()), QtCore.Qt.LeftDockWidgetArea, visible=True) app.addViewMenuSeparator() def toggleObjectModelDock(): newState = not sceneBrowserDock.visible sceneBrowserDock.setVisible(newState) propertiesDock.setVisible(newState) applogic.addShortcut(app.mainWindow, 'F1', toggleObjectModelDock) #applogic.addShortcut(app.mainWindow, 'F8', app.showPythonConsole) return FieldContainer(app=app, mainWindow=app.mainWindow, sceneBrowserDock=sceneBrowserDock, propertiesDock=propertiesDock, toggleObjectModelDock=toggleObjectModelDock)
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 addUDIM(self): '''Adds UDIM to list. Note: chain trigger, this function builds everything, Nothing will be built if no UDIM selected. ''' selected_udim = sceneData('udim') ## Exit if no UDIM selected if not selected_udim: return parent = self.addChannel() exists_udim = [] add_udim = [] udim_items = [] ## Check for existing try: for index in range(parent.childCount()): child = parent.child(index) exists_udim.append(child.text(0)) for patch in selected_udim: if patch not in exists_udim: add_udim.append(patch) except: pass ## Create and Build UDIM items for patch in add_udim: udimItem = QtGui.QTreeWidgetItem([patch, '', '', '']) udimItem.setIcon(0, QtGui.QIcon('%s/Plus.png' % icon_path)) udimItem.setData(0, 32, 'UDIM') udim_items.append(udimItem) parent.insertChildren(0, udim_items) self.udimCount() ## Resize self.resize()
def __init__(self): self.applicationInstance().setOrganizationName('RobotLocomotionGroup') self.applicationInstance().setApplicationName('drake-visualizer') om.init() self.view = PythonQt.dd.ddQVTKWidgetView() # init grid self.gridObj = vis.showGrid(self.view, parent='scene') self.gridObj.setProperty('Surface Mode', 'Surface with edges') self.gridObj.setProperty('Color', [0, 0, 0]) self.gridObj.setProperty('Alpha', 0.1) # init view options self.viewOptions = vis.ViewOptionsItem(self.view) om.addToObjectModel(self.viewOptions, parentObj=om.findObjectByName('scene')) self.viewOptions.setProperty('Background color', [0.3, 0.3, 0.35]) self.viewOptions.setProperty('Background color 2', [0.95, 0.95, 1]) # setup camera applogic.setCameraTerrainModeEnabled(self.view, True) applogic.resetCamera(viewDirection=[-1, 0, -0.3], view=self.view) # This setting improves the near plane clipping resolution. # Drake often draws a very large ground plane which is detrimental to # the near clipping for up close objects. The trade-off is Z buffer # resolution but in practice things look good with this setting. self.view.renderer().SetNearClippingPlaneTolerance(0.0005) # add view behaviors self.viewBehaviors = viewbehaviors.ViewBehaviors(self.view) applogic._defaultRenderView = self.view self.mainWindow = QtGui.QMainWindow() self.mainWindow.setCentralWidget(self.view) self.mainWindow.resize(768 * (16 / 9.0), 768) self.mainWindow.setWindowTitle('Drake Visualizer') self.mainWindow.setWindowIcon(QtGui.QIcon(':/images/drake_logo.png')) self.settings = QtCore.QSettings() self.fileMenu = self.mainWindow.menuBar().addMenu('&File') self.viewMenu = self.mainWindow.menuBar().addMenu('&View') self.viewMenuManager = PythonQt.dd.ddViewMenu(self.viewMenu) self.drakeVisualizer = DrakeVisualizer(self.view) self.lcmglManager = lcmgl.LCMGLManager( self.view) if lcmgl.LCMGL_AVAILABLE else None model = om.getDefaultObjectModel() model.getTreeWidget().setWindowTitle('Scene Browser') model.getPropertiesPanel().setWindowTitle('Properties Panel') self.sceneBrowserDock = self.addWidgetToDock( model.getTreeWidget(), QtCore.Qt.LeftDockWidgetArea, visible=False) self.propertiesDock = self.addWidgetToDock( self.wrapScrollArea(model.getPropertiesPanel()), QtCore.Qt.LeftDockWidgetArea, visible=False) self.addViewMenuSeparator() self.screenGrabberPanel = ScreenGrabberPanel(self.view) self.screenGrabberDock = self.addWidgetToDock( self.screenGrabberPanel.widget, QtCore.Qt.RightDockWidgetArea, visible=False) self.cameraBookmarksPanel = camerabookmarks.CameraBookmarkWidget( self.view) self.cameraBookmarksDock = self.addWidgetToDock( self.cameraBookmarksPanel.widget, QtCore.Qt.RightDockWidgetArea, visible=False) self.cameraControlPanel = cameracontrolpanel.CameraControlPanel( self.view) self.cameraControlDock = self.addWidgetToDock( self.cameraControlPanel.widget, QtCore.Qt.RightDockWidgetArea, visible=False) act = self.fileMenu.addAction('&Quit') act.setShortcut(QtGui.QKeySequence('Ctrl+Q')) act.connect('triggered()', self.applicationInstance().quit) self.fileMenu.addSeparator() act = self.fileMenu.addAction('&Open Data...') act.setShortcut(QtGui.QKeySequence('Ctrl+O')) act.connect('triggered()', self._onOpenDataFile) applogic.addShortcut(self.mainWindow, 'F1', self._toggleObjectModel) applogic.addShortcut(self.mainWindow, 'F8', applogic.showPythonConsole) self.applicationInstance().connect('aboutToQuit()', self._onAboutToQuit) for obj in om.getObjects(): obj.setProperty('Deletable', False) self.mainWindow.show() self._saveWindowState('MainWindowDefault') self._restoreWindowState('MainWindowCustom')
def iconFromTheme(name): if QtGui.QIcon.hasThemeIcon(name): return QtGui.QIcon.fromTheme(name) else: return QtGui.QIcon()
def __init__(self): super(ExportQtGui, self).__init__() #--# Create Groups self.mainGroup = QtGui.QGroupBox('Export List') self.optionGroup = QtGui.QGroupBox('Options') #--# Create Layouts layoutV1_main = QtGui.QVBoxLayout() layoutV2_grp = QtGui.QVBoxLayout() layoutV3_grp = QtGui.QVBoxLayout() layoutH1_wdg = QtGui.QHBoxLayout() layoutH2_wdg = QtGui.QHBoxLayout() layoutH3_wdg = QtGui.QHBoxLayout() layoutH4_wdg = QtGui.QHBoxLayout() layoutH5_wdg = QtGui.QHBoxLayout() ## Build Layouts self.setLayout(layoutV1_main) self.mainGroup.setLayout(layoutV2_grp) self.optionGroup.setLayout(layoutV3_grp) layoutV2_grp.addLayout(layoutH1_wdg) layoutV2_grp.addLayout(layoutH2_wdg) layoutV3_grp.addLayout(layoutH3_wdg) layoutV3_grp.addLayout(layoutH4_wdg) layoutV3_grp.addLayout(layoutH5_wdg) #--# Export List TreeWidget self.exportList = QtGui.QTreeWidget() self.exportList.setSelectionMode( QtGui.QAbstractItemView.ExtendedSelection) self.exportList.setSortingEnabled(True) self.exportList.setAlternatingRowColors(True) #--# Create Widgets self.addBtn = QtGui.QToolButton(self) self.removeBtn = QtGui.QToolButton(self) self.clearBtn = QtGui.QToolButton(self) self.addAllBtn = QtGui.QToolButton(self) self.browseBtn = QtGui.QPushButton('Browse') self.exportBtn = QtGui.QPushButton('Export') self.formatCombo = QtGui.QComboBox() self.exportLabel = QtGui.QLabel('Path: ') self.formatLabel = QtGui.QLabel('Format: ') self.templateLabel = QtGui.QLabel('Template: ') self.templateLn = QtGui.QLineEdit(defaultTemplate) self.exportLn = QtGui.QLineEdit() ## Set Icons self.addBtn.setIcon(QtGui.QIcon('%s/Plus.png' % icon_path)) self.removeBtn.setIcon(QtGui.QIcon('%s/Minus.png' % icon_path)) self.clearBtn.setIcon(QtGui.QIcon('%s/Quit.png' % icon_path)) self.addAllBtn.setIcon(QtGui.QIcon('%s/AddObject.png' % icon_path)) #--# Populate Layouts layoutH1_wdg.addWidget(self.exportList) layoutH2_wdg.addWidget(self.addBtn) layoutH2_wdg.addWidget(self.removeBtn) layoutH2_wdg.addWidget(self.clearBtn) layoutH2_wdg.addWidget(self.addAllBtn) layoutH2_wdg.addStretch() layoutH3_wdg.addWidget(self.exportLabel) layoutH3_wdg.addWidget(self.exportLn) layoutH3_wdg.addWidget(self.browseBtn) layoutH4_wdg.addWidget(self.templateLabel) layoutH4_wdg.addWidget(self.templateLn) layoutH4_wdg.addWidget(self.formatLabel) layoutH4_wdg.addWidget(self.formatCombo) layoutH5_wdg.addWidget(self.exportBtn) ## Final layoutV1_main.addWidget(self.mainGroup) layoutV1_main.addWidget(self.optionGroup) #--# StyleSheets self.setStyleSheet("\ QTreeWidget { alternate-background-color: rgb(100, 100, 100); } \ ") #--# Keyboard shortcuts self.deleteKey = QtGui.QShortcut(QtGui.QKeySequence('Delete'), self) #--# Connections self.addBtn.connect("clicked()", self.addUDIM) self.removeBtn.connect("clicked()", lambda: self.manageTree(remove=True)) self.clearBtn.connect("clicked()", self.clear) self.addAllBtn.connect("clicked()", self.addAllObjects) self.browseBtn.connect("clicked()", self.getExportPath) self.exportBtn.connect("clicked()", self.export) self.deleteKey.connect("activated()", lambda: self.manageTree(remove=True)) self.exportList.connect("itemDoubleClicked (QTreeWidgetItem *,int)", lambda: self.manageTree(pick=True)) #--# Init self.init() self.setHeader()
def ui_n_stuff(self): # Variables necessaires self.geo_list = mari.geo.list() obj = mari.geo.current() obj_name = str(obj.name()) obj_name = obj_name.split("_")[0] self.path_export = "Z:\\Groupes-cours\\NAND999-A15-N01\\Nature\\assets\\tex\\" + obj_name + "\\" self.nomenclature = "$CHANNEL.png" # Construire la fenetre et le layout de base self.setWindowTitle("Export Manager") main_layout = gui.QHBoxLayout(self) close_layout = gui.QVBoxLayout(self) # Layout pour section du top top_group = gui.QGroupBox() top_group_layout = gui.QVBoxLayout() top_group.setLayout(top_group_layout) # Layout pour section du bot bottom_group = gui.QGroupBox() bottom_group_layout = gui.QVBoxLayout() bottom_group.setLayout(bottom_group_layout) # Ajouter Group Widget au main Layout main_layout.addWidget(top_group) main_layout.addWidget(bottom_group) # Channel Header, Label et Widgets channel_label = gui.QLabel("<strong>Channels To Export</strong>") channel_layout = gui.QVBoxLayout() channel_header_layout = gui.QHBoxLayout() # Layout Channel channel_header_layout.addWidget(channel_label) channel_header_layout.addStretch() channel_layout.addLayout(channel_header_layout) top_group_layout.addLayout(channel_layout) # -----------------------------BUTTON & WIDGETS--------------------------------- # Repopulate the earth chan_dict = {} self.checkbox_dict = {} checkbox_liste = [] checkbox_group = gui.QGroupBox() checkbox_group_layout = gui.QVBoxLayout() checkbox_group.setLayout(checkbox_group_layout) top_group_layout.addWidget(checkbox_group) # Label & Checkbox builder geo_dict = {} for geo in self.geo_list: # Iterating over each object (geo = Cube, Sphere, Torus) obj_label = gui.QLabel(str(geo.name())) checkbox_group_layout.addWidget(obj_label) for channel in geo.channelList(): # Iterating over each channel (channel = Diffuse, Spec, Bump...) checkbox = gui.QCheckBox(str(channel.name())) checkbox_group_layout.addWidget(checkbox) self.checkbox_dict[checkbox] = channel # Path Layout path_layout = gui.QHBoxLayout() # Ajouter un label, bouton et text field pour le path path_label = gui.QLabel('Path:') # Label avant le lineEdit path_line_edit = gui.QLineEdit(self.path_export) # Texte sur la ligne path_line_edit.setDisabled(1) path_line_edit.setReadOnly(1) # Read Only mode, can select can't change path_pixmap = gui.QPixmap(mari.resources.path(mari.resources.ICONS) + '/ExportImages.png') icon = gui.QIcon(path_pixmap) path_button = gui.QPushButton(icon, "") path_layout.addWidget(path_label) path_layout.addWidget(path_line_edit) path_layout.addWidget(path_button) bottom_group_layout.addLayout(path_layout) # Select All & Select None Button sel_all = gui.QPushButton("Select All") sel_none = gui.QPushButton("Select None") top_group_layout.addWidget(sel_all) top_group_layout.addWidget(sel_none) sel_all.connect("clicked()", self.select_all) # Connect button to fonction sel_none.connect("clicked()", self.select_none) # Connect button to fonction # Export All & Export Button export_all = gui.QPushButton("Export All") export_selected = gui.QPushButton("Export Selected") bottom_group_layout.addWidget(export_all) bottom_group_layout.addWidget(export_selected) export_all.connect("clicked()", self.export_all_fc) # Connect button to fonction export_selected.connect("clicked()", self.export_selected_fc) # Connect button to fonction # Close button close_btn = gui.QPushButton("Close") close_layout.addWidget(close_btn) main_layout.addLayout(close_layout, stretch=1) close_btn.connect("clicked()", self.reject) # Connect button to fonction
def _set_icon(self): """ Set the icon for the container item. """ icon = QtGui.QIcon(str(self.source_dir / self.icon_path)) self.setIcon(icon)