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 _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 iterate(self): if PyQt4: if self.ready: # set from thread if not self.remotepointer: self.remotepointer = widget = QtGui.QWidget() widget.resize(24, 24) widget.setWindowTitle('remote pointer') flags = Qt.FramelessWindowHint | Qt.WindowStaysOnTopHint widget.setWindowFlags(flags) widget.setAttribute(Qt.WA_TranslucentBackground) self.remotepointer_button = but = QtGui.QToolButton(widget) but.setArrowType(Qt.UpArrow) but.setGeometry(0, 0, 24, 24) #but.setText('xx') self.remotepointer.show() if self.remotepointer and not self.clients: self.remotepointer.hide() if self.ready_mouse: # set from thread button, x, y = self.ready_mouse if button and not self._button_down: self._button_down = True self.remotepointer_button.setArrowType(Qt.DownArrow) elif not button and self._button_down: self._button_down = False self.remotepointer_button.setArrowType(Qt.UpArrow) _clicktxt = 'click!' if len(self._clicks) > 1: _clicktxt = 'double-click!' if self._allow_mouse_warp: if self.windll: self.windll.user32.SetCursorPos(x, y) if self._allow_mouse_click and self._clicks: for x, y in self._clicks: self.windll.user32.SetCursorPos( x, y) # seems like this won't work under wine self.windll.user32.mouse_event(2, 0, 0, 0, 0) # left down self.windll.user32.mouse_event(3, 0, 0, 0, 0) # left up elif gtk: display = gtk.gdk.display_get_default() display.warp_pointer(display.get_default_screen(), x, y) self.remotepointer.move(x + 2, y - 10) #if button and (not self._button_down or not QtGui.QToolTip.isVisible()): # self._button_down = True # if QtGui.QToolTip.isVisible(): QtGui.QToolTip.hideText() # QtGui.QToolTip.showText( QtCore.QPoint(x,y), _clicktxt ) # very unthreadsafe #elif not button: self._button_down = False if self._clicks: if button == 2: _clicktxt = 'right-click!' elif button == 4: _clicktxt = 'middle-click!' if QtGui.QToolTip.isVisible(): QtGui.QToolTip.hideText() QtGui.QToolTip.showText(QtCore.QPoint(x, y), _clicktxt) self.ready_mouse = None self._clicks = [] if not naali: app.processEvents() if _rfb_.rfbIsActive(self.serverPtr): if time.time() - self._lastupdate > self._refresh: self._lastupdate = time.time() rect = self._rects[self._index] x, y, w, h = rect self._buffer += self.get_screen_shot(self._antialias, rect) self.lock.acquire() ctypes.memmove(self.framebuffer, self._buffer, len(self._buffer)) self.lock.release() _rfb_.rfbMarkRectAsModified(self.serverPtr, x, y, w, h) self._index += 1 if self._index == len(self._rects): self._index = 0 self._buffer = ''
def gui_example(self, object): self.set_mdsa(object) dialog = QtGui.QDialog() dialog.setObjectName("dialog") dialog.resize(858, 555) gridLayout_5 = QtGui.QGridLayout(dialog) gridLayout_5.setObjectName("gridLayout_5") avatar_groupBox = QtGui.QGroupBox(dialog) avatar_groupBox.setObjectName("save_groupBox") gridLayout = QtGui.QGridLayout(avatar_groupBox) gridLayout.setObjectName("gridLayout") avatar_load_toolButton = QtGui.QToolButton(avatar_groupBox) avatar_load_toolButton.setObjectName("avatar_load_toolButton") gridLayout.addWidget(avatar_load_toolButton, 0, 0, 1, 1) avatar_refresh_toolButton = QtGui.QToolButton(avatar_groupBox) avatar_refresh_toolButton.setObjectName("avatar_refresh_toolButton") gridLayout.addWidget(avatar_refresh_toolButton, 0, 1, 1, 1) self.avatar_ext_comboBox = QtGui.QComboBox(avatar_groupBox); self.avatar_ext_comboBox.setObjectName("avatar_ext_comboBox"); self.avatar_ext_comboBox.clear(); self.avatar_ext_comboBox.insertItem(0, "avt") self.avatar_ext_comboBox.insertItem(1, "obj") self.avatar_ext_comboBox.insertItem(2, "fbx") self.avatar_ext_comboBox.insertItem(3, "dae") gridLayout.addWidget(self.avatar_ext_comboBox, 0, 2, 1, 1); horizontalSpacer = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) gridLayout.addItem(horizontalSpacer, 0, 3, 1, 1) self.avatar_listWidget = QtGui.QListWidget(avatar_groupBox) self.avatar_listWidget.setObjectName("listWidget") gridLayout.addWidget(self.avatar_listWidget, 1, 0, 1, 3) gridLayout_5.addWidget(avatar_groupBox, 1, 0, 1, 1) garment_groupBox = QtGui.QGroupBox(dialog) garment_groupBox.setObjectName("laod_groupBox") gridLayout_2 = QtGui.QGridLayout(garment_groupBox); gridLayout_2.setObjectName("gridLayout_2") garment_load_toolButton = QtGui.QToolButton(garment_groupBox) garment_load_toolButton.setObjectName("garment_load_toolButton") gridLayout_2.addWidget(garment_load_toolButton, 0, 0, 1, 1) garment_refresh_toolButton = QtGui.QToolButton(garment_groupBox) garment_refresh_toolButton.setObjectName("garment_refresh_toolButton") gridLayout_2.addWidget(garment_refresh_toolButton, 0, 1, 1, 1) self.garment_ext_comboBox = QtGui.QComboBox(garment_groupBox); self.garment_ext_comboBox.setObjectName("garment_ext_comboBox"); self.garment_ext_comboBox.clear(); self.garment_ext_comboBox.insertItem(0, "zpac") self.garment_ext_comboBox.insertItem(1, "pac") gridLayout_2.addWidget(self.garment_ext_comboBox, 0, 2, 1, 1); horizontalSpacer_2 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) gridLayout_2.addItem(horizontalSpacer_2, 0, 3, 1, 1) self.garment_listWidget = QtGui.QListWidget(garment_groupBox) self.garment_listWidget.setObjectName("garment_listWidget") gridLayout_2.addWidget(self.garment_listWidget, 1, 0, 1, 3) gridLayout_5.addWidget(garment_groupBox, 1, 1, 1, 1) animation_groupBox = QtGui.QGroupBox(dialog) animation_groupBox.setObjectName("animation_groupBox") gridLayout_3 = QtGui.QGridLayout(animation_groupBox) gridLayout_3.setObjectName("gridLayout_3") anim_load_toolButton = QtGui.QToolButton(animation_groupBox) anim_load_toolButton.setObjectName("anim_load_toolButton") gridLayout_3.addWidget(anim_load_toolButton, 0, 0, 1, 1) anim_refresh_toolButton = QtGui.QToolButton(animation_groupBox) anim_refresh_toolButton.setObjectName("anim_refresh_toolButton") gridLayout_3.addWidget(anim_refresh_toolButton, 0, 1, 1, 1) self.animation_ext_comboBox = QtGui.QComboBox(animation_groupBox); self.animation_ext_comboBox.setObjectName("animation_ext_comboBox"); self.animation_ext_comboBox.clear(); self.animation_ext_comboBox.insertItem(0, "pos") self.animation_ext_comboBox.insertItem(1, "mtn") self.animation_ext_comboBox.insertItem(2, "abc") self.animation_ext_comboBox.insertItem(3, "mc") self.animation_ext_comboBox.insertItem(4, "pc2") self.animation_ext_comboBox.insertItem(5, "mdd") gridLayout_3.addWidget(self.animation_ext_comboBox, 0, 2, 1, 1); horizontalSpacer_3 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) gridLayout_3.addItem(horizontalSpacer_3, 0, 3, 1, 1) self.animation_listWidget = QtGui.QListWidget(animation_groupBox) self.animation_listWidget.setObjectName("animation_listWidget") gridLayout_3.addWidget(self.animation_listWidget, 1, 0, 1, 3) gridLayout_5.addWidget(animation_groupBox, 1, 2, 1, 1) save_groupBox = QtGui.QGroupBox(dialog) save_groupBox.setObjectName("save_groupBox") gridLayout_4 = QtGui.QGridLayout(save_groupBox) gridLayout_4.setObjectName("gridLayout_4") save_toolButton = QtGui.QToolButton(save_groupBox) save_toolButton.setObjectName("save_toolButton") gridLayout_4.addWidget(save_toolButton, 0, 0, 1, 1) self.save_ext_comboBox = QtGui.QComboBox(save_groupBox); self.save_ext_comboBox.setObjectName("save_ext_comboBox"); self.save_ext_comboBox.clear(); self.save_ext_comboBox.insertItem(0, "zprj") self.save_ext_comboBox.insertItem(1, "zpac") self.save_ext_comboBox.insertItem(2, "obj") self.save_ext_comboBox.insertItem(3, "fbx") self.save_ext_comboBox.insertItem(4, "abc") self.save_ext_comboBox.insertItem(5, "mc") self.save_ext_comboBox.insertItem(6, "pc2") self.save_ext_comboBox.insertItem(7, "mdd") gridLayout_4.addWidget(self.save_ext_comboBox, 0, 1, 1, 1); self.save_listWidget = QtGui.QListWidget(save_groupBox) self.save_listWidget.setObjectName("save_listWidget") gridLayout_4.addWidget(self.save_listWidget, 1, 0, 1, 2) horizontalSpacer_4 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) gridLayout_4.addItem(horizontalSpacer_4, 0, 2, 1, 1) gridLayout_5.addWidget(save_groupBox, 2, 0, 1, 3) horizontalSpacer_5 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) gridLayout_5.addItem(horizontalSpacer_5, 3, 0, 1, 1); process_button = QtGui.QPushButton(dialog) process_button.setObjectName("process_button") gridLayout_5.addWidget(process_button, 3, 1, 1, 1) cancel_button = QtGui.QPushButton(dialog) cancel_button.setObjectName("cancel_button") gridLayout_5.addWidget(cancel_button, 3, 2, 1, 1) horizontalSpacer_6 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) gridLayout_5.addItem(horizontalSpacer_6, 3, 3, 1, 1); sync_button = QtGui.QToolButton(dialog); sync_button.setObjectName("sync_button"); gridLayout_5.addWidget(sync_button, 0, 0, 1, 2); dialog.setWindowTitle("Dialog") avatar_groupBox.setTitle("Avatar") avatar_load_toolButton.setText("Load") avatar_refresh_toolButton.setText("Refresh") garment_groupBox.setTitle("Garement") garment_load_toolButton.setText("Load") garment_refresh_toolButton.setText("Refresh") animation_groupBox.setTitle("Animation") anim_refresh_toolButton.setText("Refresh") anim_load_toolButton.setText("Load") save_groupBox.setTitle("Save File") save_toolButton.setText("Save") process_button.setText("Process") cancel_button.setText("Cancel") sync_button.setText("Sync File List") process_button.connect("clicked(bool)", self.run_process) avatar_load_toolButton.connect("clicked(bool)", self.set_avatar_path_list) garment_load_toolButton.connect("clicked(bool)", self.set_garment_path_list) anim_load_toolButton.connect("clicked(bool)", self.set_animation_path_list) sync_button.connect("clicked(bool)", self.sync_file_list) avatar_refresh_toolButton.connect("clicked(bool)", self.refresh_avatar_list) garment_refresh_toolButton.connect("clicked(bool)", self.refresh_garment_list) anim_refresh_toolButton.connect("clicked(bool)", self.refresh_animation_list) save_toolButton.connect("clicked(bool)", self.set_save_path_list) cancel_button.connect("clicked(bool)", self.cancel) self.widget = dialog return dialog
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()