Ejemplo n.º 1
0
 def retranslateUi(self, CodeEditorWidget):
     CodeEditorWidget.setWindowTitle(
         QtCompat.translate("CodeEditorWidget", "Python node editor", None,
                            -1))
     self.leLabel.setText(
         QtCompat.translate("CodeEditorWidget", "PythonNode", None, -1))
     self.leLabel.setPlaceholderText(
         QtCompat.translate("CodeEditorWidget", "Node label...", None, -1))
     self.pbAddInput.setText(
         QtCompat.translate("CodeEditorWidget", "add input", None, -1))
     self.pbAddOutput.setText(
         QtCompat.translate("CodeEditorWidget", "add output", None, -1))
     self.pbKillSelectedItems.setText(
         QtCompat.translate("CodeEditorWidget", "kill selected pins", None,
                            -1))
     self.tabWidget.setTabText(
         self.tabWidget.indexOf(self.tabPins),
         QtCompat.translate("CodeEditorWidget", "Pins", None, -1))
     self.tabWidget.setTabText(
         self.tabWidget.indexOf(self.tabCode),
         QtCompat.translate("CodeEditorWidget", "Code", None, -1))
     self.pbReset.setText(
         QtCompat.translate("CodeEditorWidget", "reset", None, -1))
     self.pbSave.setText(
         QtCompat.translate("CodeEditorWidget", "save", None, -1))
Ejemplo n.º 2
0
    def test_wrapInstance():
        """Tests .wrapInstance cast of pointer to explicit class

        Note:
            sip.wrapInstance will ignore the explicit class if there is a more
            suitable type available.

        """
        from Qt import QtCompat, QtWidgets

        app = QtWidgets.QApplication(sys.argv)

        try:
            button = QtWidgets.QPushButton("Hello world")
            button.setObjectName("MySpecialButton")
            pointer = QtCompat.getCppPointer(button)
            widget = QtCompat.wrapInstance(long(pointer), QtWidgets.QWidget)

            assert widget.objectName() == button.objectName()

            if binding("PyQt4") or binding("PyQt5"):
                # Even when we explicitly pass QWidget we will get QPushButton
                assert type(widget) is QtWidgets.QPushButton, widget
            else:
                assert type(widget) is QtWidgets.QWidget, widget

            # IMPORTANT: this differs across sip and shiboken.
            if binding("PySide") or binding("PySide2"):
                assert widget != button
            else:
                assert widget == button

        finally:
            app.exit()
Ejemplo n.º 3
0
    def test_implicit_wrapInstance():
        """.wrapInstance doesn't need the `base` argument"""
        from Qt import QtCompat, QtWidgets

        app = QtWidgets.QApplication(sys.argv)

        try:
            button = QtWidgets.QPushButton("Hello world")
            button.setObjectName("MySpecialButton")
            pointer = QtCompat.getCppPointer(button)
            widget = QtCompat.wrapInstance(long(pointer))
            assert isinstance(widget, QtWidgets.QWidget), widget
            assert widget.objectName() == button.objectName()

            if binding("PySide"):
                assert widget != button
            elif binding("PySide2") and _pyside2_commit_date() is None:
                assert widget != button
            elif binding("PySide2") and \
                    _pyside2_commit_date() <= datetime.datetime(
                        2017, 8, 25):
                assert widget == button
            else:
                assert widget == button

        finally:
            app.exit()
Ejemplo n.º 4
0
    def __init__(self, parent=None):
        super(StoreXml, self).__init__(parent)
        # load the ui

        #import __main__
        #self.parentWindow = __main__.__dict__["blurDeformWindow"]
        #blurdev.gui.loadUi( __file__, self )

        QtCompat.loadUi(getUiFile(__file__), self)
        self.parentWindow = parent
        #------------------------

        self.parentWindow.saveXmlWin = self

        self.setWindowFlags(QtCore.Qt.Tool | QtCore.Qt.WindowStaysOnTopHint)
        self.setWindowTitle("Store xml file")
        self.uiAllFramesTW.setSelectionMode(
            QtWidgets.QAbstractItemView.ExtendedSelection)
        self.uiAllFramesTW.setAlternatingRowColors(True)

        self.uiDoStoreBTN.clicked.connect(self.buttonAction)

        self.uiXmlStoreFile = filepickerwidget.FilePickerWidget(self)
        self.botLay.insertWidget(0, self.uiXmlStoreFile)
        self.uiXmlStoreFile.filenameChanged.connect(self.fileIsPicked)
Ejemplo n.º 5
0
 def __init__(self, parent):
     super(shortcutsClass, self).__init__(parent)
     self.setupUi(self)
     QtCompat.setSectionResizeMode(self.table.horizontalHeader(), QtWidgets.QHeaderView.Stretch)
     self.table.setColumnCount(2)
     self.table.setHorizontalHeaderLabels(['Action', 'Shortcut'])
     self.read()
Ejemplo n.º 6
0
 def __init__(self):
     
     super(MyWindow, self).__init__()
     QtCompat.loadUi(ui_path, self)
     self.open_button.clicked.connect(self.open)
     self.export_button.clicked.connect(self.export)
     self.import_button.clicked.connect(self.importation)
Ejemplo n.º 7
0
    def test_implicit_wrapInstance_for_base_types():
        """Tests .wrapInstance implicit cast of `Foo` pointer to `Foo` object

        Testing is based upon the following parameters:

        1. The `base` argument has a default value.
        2. `Foo` is a standard Qt class.

        """
        from Qt import QtCompat, QtWidgets

        app = QtWidgets.QApplication(sys.argv)

        try:
            button = QtWidgets.QPushButton("Hello world")
            button.setObjectName("MySpecialButton")
            pointer = QtCompat.getCppPointer(button)
            widget = QtCompat.wrapInstance(long(pointer))

            assert widget.objectName() == button.objectName()
            assert type(widget) is QtWidgets.QPushButton, widget

            if binding("PySide"):
                assert widget != button
            elif binding("PySide2") and _pyside2_commit_date() is None:
                assert widget != button
            elif binding("PySide2") and \
                    _pyside2_commit_date() <= datetime.datetime(
                        2017, 8, 25):
                assert widget == button
            else:
                assert widget == button

        finally:
            app.exit()
Ejemplo n.º 8
0
    def __init__(self, *args, **kwds):
        super(Launcher, self).__init__(*args, **kwds)

        DIR,file_name = os.path.split(__file__)
        base_name,_ = os.path.splitext(file_name)
        ui_path = os.path.join(DIR,"%s.ui" % base_name)
        QtCompat.loadUi(ui_path,self)

        # NOTE 隐藏 Error_Label
        self.Error_Label.hide()
        
        # NOTE 设置图标
        style = QtWidgets.QApplication.style()
        icon = style.standardIcon(QtWidgets.QStyle.SP_FileDialogContentsView)
        pixmap = icon.pixmap(32,32)
        # pixmap = style.standardPixmap(QtWidgets.QStyle.SP_FileDialogContentsView)
        bitmap = pixmap.createMaskFromColor(QtGui.QColor(50, 50, 50))
        pixmap.setMask(bitmap)
        self.Label.setPixmap(pixmap)
        

        # TODO 设置状态标签

        self.setWindowFlags(QtCore.Qt.Popup|QtCore.Qt.FramelessWindowHint)
        self.setAttribute(QtCore.Qt.WA_TranslucentBackground)
        # self.setFlags(QtCore.Qt.WA_TranslucentBackground)
        
        self.LineEdit.returnPressed.connect(self.accept)
        
        self.show()
Ejemplo n.º 9
0
 def test_isValid():
     """.isValid and .delete work in all bindings"""
     from Qt import QtCompat, QtCore
     obj = QtCore.QObject()
     assert QtCompat.isValid(obj)
     QtCompat.delete(obj)
     assert not QtCompat.isValid(obj)
Ejemplo n.º 10
0
    def __init__(self):
        super(Dialog, self).__init__()
        QtCompat.loadUi(os.path.join(__file__, '../downloader.ui'), self)
        self.file_sets = {}
        self._files = RemoteFiles()
        self.is_downloading = False

        # Recover from config.
        self.dir = CONFIG['OUTPUT_DIR']

        # Setup radio buttons.
        self.radioButtonSubmit.toggled.connect(
            lambda status: self.on_radio_toggled(SUBMIT_FILE, status))
        select = cgtwq.DesktopClient().selection()
        pipeline = select.module.database.pipeline.filter(
            cgtwq.Filter('entity', select['pipeline'][0]))[0]
        for filebox in (
                select.module.database.filebox.list_by_pipeline(pipeline)):
            button = QRadioButton(filebox.title)
            button.setObjectName(filebox.title)
            button.toggled.connect(lambda status, target=filebox: self.
                                   on_radio_toggled(target, status))
            self.groupBox.layout().addWidget(button)

        # Connect signals.
        self.toolButton.clicked.connect(self.ask_dir)
        self.lineEditDir.editingFinished.connect(self.autoset)
        self.checkBoxSkipSame.toggled.connect(self.update_filelist)

        self.update_filelist()
Ejemplo n.º 11
0
	def __init__(self, system):
		super(SystemSettingsWidget, self).__init__()
		uiPath = os.path.join(os.path.dirname(__file__), "ui", "systemSettingsWidget.ui")
		QtCompat.loadUi(uiPath, self)

		self._system = None
		self._connectionWidgets = {}
		self._settingsWidgets = {}
		self._settingsWidget = None

		self.uiPreScriptWDG = ScriptWidget("pre")
		self.uiScriptsTAB.layout().addWidget(self.uiPreScriptWDG)
		self.uiPostScriptWDG = ScriptWidget("post")
		self.uiScriptsTAB.layout().addWidget(self.uiPostScriptWDG)

		if system:
			self.setSystem(system)

		# Connect Signals
		self.uiTypeCBOX.currentIndexChanged.connect(self.swap)
		self.uiVersionCBOX.currentIndexChanged.connect(self.swap)
		self.uiLocationCBOX.currentIndexChanged.connect(self.rename)
		self.uiNameLINE.editingFinished.connect(self.rename)
		self.uiAddConnectionBTN.clicked.connect(self.addConnection)
		self.uiConnectionPortCBOX.currentIndexChanged.connect(self.loadConnectionTypes)

		self.uiPreScriptWDG.updated.connect(self.scriptUpdated)
		self.uiPostScriptWDG.updated.connect(self.scriptUpdated)
Ejemplo n.º 12
0
    def setData(self, data):

        # it could be argued that we should early out here if data is self.getData(),
        # but we can't right now as we're relying on setData() to update everything
        # when the data has been modified in place by some external process, or
        # by self.__removeSelection.

        if data is not None:
            if not isinstance(data, list):
                data = [data]
            self.__model = _Model(data, self.__tableView, self.getEditable(),
                                  self.__headerOverride, self.__columnToolTips,
                                  self.__columnEditability)
            self.__model.dataChanged.connect(
                Gaffer.WeakMethod(self.__modelDataChanged))
            self.__model.rowsInserted.connect(
                Gaffer.WeakMethod(self.__emitDataChangedSignal))
            self.__model.rowsRemoved.connect(
                Gaffer.WeakMethod(self.__emitDataChangedSignal))
        else:
            self.__model = None

        self.__tableView.setModel(self.__model)

        if self.__model:

            columnIndex = 0
            haveResizeableContents = False
            for accessor in self.__model.vectorDataAccessors():
                for i in range(0, accessor.numColumns()):
                    delegate = _Delegate.create(accessor.data())
                    delegate.setParent(self.__model)
                    self.__tableView.setItemDelegateForColumn(
                        columnIndex, delegate)
                    canStretch = delegate.canStretch()
                    haveResizeableContents = haveResizeableContents or canStretch
                    columnIndex += 1

            QtCompat.setSectionResizeMode(
                self.__tableView.horizontalHeader(),
                QtWidgets.QHeaderView.ResizeToContents
                if haveResizeableContents else QtWidgets.QHeaderView.Fixed)
            self.__tableView.horizontalHeader().setStretchLastSection(
                canStretch)
            self.__tableView.setSizePolicy(
                QtWidgets.QSizePolicy(
                    QtWidgets.QSizePolicy.Expanding
                    if canStretch else QtWidgets.QSizePolicy.Fixed,
                    QtWidgets.QSizePolicy.Maximum))

            selectionModel = self.__tableView.selectionModel()
            selectionModel.selectionChanged.connect(
                Gaffer.WeakMethod(self.__selectionChanged))

        self.__updateRemoveButtonEnabled()

        # Somehow the QTableView can leave its header in a state where updates are disabled.
        # If we didn't turn them back on, the header would disappear.
        self.__tableView.verticalHeader().setUpdatesEnabled(True)
        self.__tableView.updateGeometry()
 def retranslateUi(self, Form):
     Form.setWindowTitle(QtCompat.translate("Form", "Form", None, -1))
     self.label.setText(QtCompat.translate("Form", "x", None, -1))
     self.label_2.setText(QtCompat.translate("Form", "y", None, -1))
     self.label_3.setText(QtCompat.translate("Form", "z", None, -1))
     self.pbReset.setToolTip(
         QtCompat.translate("Form", "Reset to defaults", None, -1))
Ejemplo n.º 14
0
 def retranslateUi(self, Form):
     Form.setWindowTitle(QtCompat.translate("Form", "Form", None, -1))
     self.lePinName.setText(QtCompat.translate("Form", "pinName", None, -1))
     self.cbHideLabel.setToolTip(
         QtCompat.translate("Form", "should hide label", None, -1))
     self.cbHideLabel.setText(
         QtCompat.translate("Form", "hide label", None, -1))
Ejemplo n.º 15
0
    def test_implicit_wrapInstance():
        """.wrapInstance doesn't need the `base` argument"""
        from Qt import QtCompat, QtWidgets

        app = QtWidgets.QApplication(sys.argv)

        try:
            button = QtWidgets.QPushButton("Hello world")
            button.setObjectName("MySpecialButton")
            pointer = QtCompat.getCppPointer(button)
            widget = QtCompat.wrapInstance(long(pointer))
            assert isinstance(widget, QtWidgets.QWidget), widget
            assert widget.objectName() == button.objectName()

            if binding("PySide"):
                assert widget != button
            elif binding("PySide2") and _pyside2_commit_date() is None:
                assert widget != button
            elif binding("PySide2") and \
                    _pyside2_commit_date() <= datetime.datetime(
                        2017, 8, 25):
                assert widget == button
            else:
                assert widget == button

        finally:
            app.exit()
Ejemplo n.º 16
0
    def setupUi(self):
        # Filepaths
        main_window_file = os.path.join(UI_PATH, "main_window.ui")
        module_file = os.path.join(UI_PATH, "module.ui")

        # Load UIs
        self.main_widget = QtCompat.load_ui(main_window_file)  # Main window UI
        self.module_widget = QtCompat.load_ui(module_file)  # Module UI

        # Attach module to main window UI's boilerVerticalLayout layout
        self.main_widget.boilerVerticalLayout.addWidget(self.module_widget)

        # Edit widget which resides in module UI
        self.module_widget.boilerLabel.setText("Push the button!")

        # Edit widget which reside in main window UI
        self.main_widget.boilerPushButton.setText("Push me!")

        # Set the main widget
        self.setCentralWidget(self.main_widget)

        # Define minimum size of UI
        self.setMinimumSize(200, 200)

        # Signals
        # The "pushButton" widget resides in the main window UI
        self.main_widget.boilerPushButton.clicked.connect(self.say_hello)
Ejemplo n.º 17
0
    def __init__(self, parent=None):
        super(ArgileAddPose, self).__init__(parent)
        # load the ui

        QtCompat.loadUi(getUiFile(__file__), self)
        self.parentWindow = parent

        self.parentWindow.addPoseWin = self

        self.uiTransformLE.setText("N/A")
        self.uiPoseNameLE.setText("newPose")

        self.uiAddPoseBTN.clicked.connect(self.addNewPose)
        self.uiPickTransformBTN.clicked.connect(self.getSelectedTransform)

        self.uiLocalDeformationRB.toggled.connect(
            self.uiTransformLE.setEnabled)
        self.uiLocalDeformationRB.toggled.connect(
            self.uiPickTransformBTN.setEnabled)
        self.uiLocalDeformationRB.toggled.connect(
            self.uiUseTransformLBL.setEnabled)
        self.uiTangentDeformationRB.toggled.connect(
            self.uiWarningLabel.setVisible)

        self.uiWarningLabel.setVisible(False)
        self.uiWarningExistPoseNameLabel.hide()

        self.setWindowFlags(QtCore.Qt.Tool | QtCore.Qt.WindowStaysOnTopHint)
        self.setWindowTitle("Add New Pose")
Ejemplo n.º 18
0
 def __init__(self, config=None, parent=None):
     self.config = config or dict()
     super(DialogWithDir, self).__init__(parent)
     QtCompat.loadUi(unicode(Path(__file__, self.uifile)), self)
     self._setup_icons()
     self._load_edits_state()
     self._setup_edits()
     self.dir_edit.textChanged.connect(self._validate_dir)
Ejemplo n.º 19
0
    def __init__(self, guide):
        super(GuideVisibilityWidget, self).__init__()
        uiPath = os.path.join(os.path.dirname(__file__), "ui",
                              "guideVisibilityWidget.ui")
        QtCompat.loadUi(uiPath, self)

        self._visButtons = []
        self.setGuide(guide)
Ejemplo n.º 20
0
def test_load_ui_baseinstance():
    """Tests to see if the baseinstance loading loads widgets on properly"""
    import sys
    from Qt import QtWidgets, QtCompat
    app = QtWidgets.QApplication(sys.argv)
    win = QtWidgets.QWidget()
    QtCompat.loadUi(self.ui_qwidget, win)
    assert hasattr(win, 'lineEdit'), "loadUi could not load instance to win"
    app.exit()
Ejemplo n.º 21
0
    def __init__(self):
        super(MyWindow, self).__init__()
        #self.engine = MayaEngine()
        path = ""

        # setup ui
        QtCompat.loadUi(ui_path, self)  # replace self.setupUi(Self)
        self.open_button.clicked.connect(self.open)
        self.select_button.clicked.connect(self.browse)
 def retranslateUi(self, MainWindow):
     MainWindow.setWindowTitle(
         QtCompat.translate("MainWindow", "PyFlow", None, -1))
     self.label_2.setText(
         QtCompat.translate("MainWindow", "Name:", None, -1))
     self.label.setText(
         QtCompat.translate("MainWindow", "Category:", None, -1))
     self.toolBar.setWindowTitle(
         QtCompat.translate("MainWindow", "toolBar", None, -1))
Ejemplo n.º 23
0
 def retranslateUi(self, findReplace):
     findReplace.setWindowTitle(
         QtCompat.translate("findReplace", "Find and Replace", None, -1))
     self.find_btn.setText(
         QtCompat.translate("findReplace", "Find", None, -1))
     self.replace_btn.setText(
         QtCompat.translate("findReplace", "Replace", None, -1))
     self.replaceAll_btn.setText(
         QtCompat.translate("findReplace", "Replace All", None, -1))
 def create(self):
     self.setSortingEnabled(True)
     QtCompat.setSectionResizeMode(
         self.header(),
         QtWidgets.QHeaderView.ResizeToContents
     )
     self.model = QtWidgets.QFileSystemModel(self)
     self.model.setFilter(QtCore.QDir.Files)
     self.setModel(self.model)
Ejemplo n.º 25
0
def test_load_ui_baseinstance():
    """Tests to see if the baseinstance loading loads widgets on properly"""
    import sys
    from Qt import QtWidgets, QtCompat
    app = QtWidgets.QApplication(sys.argv)
    win = QtWidgets.QWidget()
    QtCompat.loadUi(self.ui_qwidget, win)
    assert hasattr(win, 'lineEdit'), "loadUi could not load instance to win"
    app.exit()
Ejemplo n.º 26
0
	def __init__(self, layer):
		super(LayerSettingsWidget, self).__init__()
		uiPath = os.path.join(os.path.dirname(__file__), "ui", "layerSettingsWidget.ui")
		QtCompat.loadUi(uiPath, self)

		self._layer = None

		self.connectWidgets()

		self.setLayer(layer)
Ejemplo n.º 27
0
 def __init__(self):
     super(ToRef, self).__init__()
     QtCompat.loadUi(Tools.get_ui_path(), self)
     self.file = None
     self.iter = None
     self.namespaces = None
     self.thread = MyThread()
     self.thread.signal.connect(self.update_process)
     self.toolButton.clicked.connect(self.get_file)
     self.refButton.clicked.connect(self.check_params)
Ejemplo n.º 28
0
    def retranslateUi(self, Dialog):
        Dialog.setWindowTitle(QtCompat.translate("Dialog", "About Multi Script Editor", None, -1))
        self.title_lb.setText(QtCompat.translate("Dialog", "Multi Script Editor v", None, -1))
        self.text_link_lb.setText(QtCompat.translate("Dialog", "Paul Winex 2015", None, -1))
        self.textBrowser.setHtml(QtCompat.translate("Dialog", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
"p, li { white-space: pre-wrap; }\n"
"</style></head><body style=\" font-family:\'MS Shell Dlg 2\'; font-size:8.25pt; font-weight:400; font-style:normal;\">\n"
"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:8pt;\">File not Found :(</span></p></body></html>", None, -1))
        self.donate_btn.setText(QtCompat.translate("Dialog", "Donate", None, -1))
Ejemplo n.º 29
0
    def __init__(self):
        super(MyWindow, self).__init__()
        self.engine = get_current()        

        
        # setup ui
        QtCompat.loadUi(ui_path, self)

        self.Open_Button.clicked.connect(self.select)
        self.exportABC.clicked.connect(self.export)
Ejemplo n.º 30
0
    def __init__(self):
        super(OpenWindow, self).__init__()
        QtCompat.loadUi(ui_path, self)

        # Assign the buttons to functions
        self.exportButton.clicked.connect(self.exportAbc)
        self.importButton.clicked.connect(self.importAbc)
        self.searchOpenFileButton.clicked.connect(self.searchOpenFile)
        self.searchExportFolderButton.clicked.connect(self.searchExportFolder)
        self.searchExportFileButton.clicked.connect(self.searchExportFile)
        self.searchOpenFolderButton.clicked.connect(self.searchOpenFolder)
Ejemplo n.º 31
0
 def retranslateUi(self, themeEditor):
     themeEditor.setWindowTitle(
         QtCompat.translate("themeEditor", "Code Theme Editor", None, -1))
     self.label.setText(
         QtCompat.translate("themeEditor", "Completer text size", None, -1))
     self.save_btn.setText(
         QtCompat.translate("themeEditor", "Save", None, -1))
     self.del_btn.setText(QtCompat.translate("themeEditor", "Del", None,
                                             -1))
     self.apply_btn.setText(
         QtCompat.translate("themeEditor", "Save", None, -1))
Ejemplo n.º 32
0
def test_meta_remap():
    """Qt._remap() appends to __modified__"""
    from Qt import QtCompat

    module = imp.new_module("QtMock")

    QtCompat._remap(module, "MyAttr", None)

    assert "MyAttr" not in QtCompat.__added__, QtCompat.__added__
    assert "MyAttr" in QtCompat.__remapped__
    assert "MyAttr" not in QtCompat.__modified__
Ejemplo n.º 33
0
 def LoadUI(self, obj):
     path = inspect.getsourcefile(obj.__class__).replace('\\','/')
     relpath = path.split(self['CoreDirectory'],1)[-1].rsplit('.',1)[0]+'.ui'
     uipath = self.GetOverriddenPath(relpath)
     print('path', path)
     print('self[CoreDirectory]', self['CoreDirectory'])
     print('relpath', relpath)
     print('uipath', uipath)
     
     if os.path.exists(uipath):
         QtCompat.loadUi(uipath, baseinstance=obj)
Ejemplo n.º 34
0
	def setData( self, data ) :

		# it could be argued that we should early out here if data is self.getData(),
		# but we can't right now as we're relying on setData() to update everything
		# when the data has been modified in place by some external process, or
		# by self.__removeSelection.

		if data is not None :
			if not isinstance( data, list ) :
				data = [ data ]
			self.__model = _Model( data, self.__tableView, self.getEditable(), self.__headerOverride, self.__columnToolTips, self.__columnEditability )
			self.__model.dataChanged.connect( Gaffer.WeakMethod( self.__modelDataChanged ) )
			self.__model.rowsInserted.connect( Gaffer.WeakMethod( self.__emitDataChangedSignal ) )
			self.__model.rowsRemoved.connect( Gaffer.WeakMethod( self.__emitDataChangedSignal ) )
		else :
			self.__model = None

		self.__tableView.setModel( self.__model )

		if self.__model :

			columnIndex = 0
			haveResizeableContents = False
			for accessor in self.__model.vectorDataAccessors() :
				for i in range( 0, accessor.numColumns() ) :
					delegate = _Delegate.create( accessor.data() )
					delegate.setParent( self.__model )
					self.__tableView.setItemDelegateForColumn( columnIndex, delegate )
					canStretch = delegate.canStretch()
					haveResizeableContents = haveResizeableContents or canStretch
					columnIndex += 1

			QtCompat.setSectionResizeMode(
				self.__tableView.horizontalHeader(),
				QtWidgets.QHeaderView.ResizeToContents if haveResizeableContents else QtWidgets.QHeaderView.Fixed
			)
			self.__tableView.horizontalHeader().setStretchLastSection( canStretch )
			self.__tableView.setSizePolicy(
				QtWidgets.QSizePolicy(
					QtWidgets.QSizePolicy.Expanding if canStretch else QtWidgets.QSizePolicy.Fixed,
					QtWidgets.QSizePolicy.Maximum
				)
			)

			selectionModel = self.__tableView.selectionModel()
			selectionModel.selectionChanged.connect( Gaffer.WeakMethod( self.__selectionChanged ) )

		self.__updateRemoveButtonEnabled()

		# Somehow the QTableView can leave its header in a state where updates are disabled.
		# If we didn't turn them back on, the header would disappear.
		self.__tableView.verticalHeader().setUpdatesEnabled( True )
		self.__tableView.updateGeometry()
Ejemplo n.º 35
0
def test_load_ui_signals():
    """Tests to see if the baseinstance loading loads widgets on properly"""
    import sys
    from Qt import QtWidgets, QtCompat
    app = QtWidgets.QApplication(sys.argv)
    win = QtWidgets.QWidget()
    QtCompat.loadUi(self.ui_qwidget, win)

    win.lineEdit.setText('Hello')
    assert str(win.label.text()) == 'Hello', "lineEdit signal did not fire"

    app.exit()
Ejemplo n.º 36
0
def test_meta_force_remap_existing():
    """Unsafe Qt._remap() of existing member adds to modified"""
    from Qt import QtCompat

    module = imp.new_module("QtMock")
    module.MyAttr = 123

    QtCompat._remap(module, "MyAttr", None, safe=False)

    assert "MyAttr" in QtCompat.__remapped__, QtCompat.__remapped__
    assert "MyAttr" not in QtCompat.__added__
    assert "MyAttr" in QtCompat.__modified__
    assert module.MyAttr is None, module.MyAttr
Ejemplo n.º 37
0
def test_load_ui_dockwidget():
    """Tests to see if the baseinstance loading loads a QDockWidget properly"""
    import sys
    from Qt import QtWidgets, QtCompat

    app = QtWidgets.QApplication(sys.argv)
    win = QtWidgets.QDockWidget()

    QtCompat.loadUi(self.ui_qdockwidget, win)

    assert hasattr(win, 'lineEdit'), \
        "loadUi could not load instance to main window"

    app.exit()
Ejemplo n.º 38
0
def test_load_ui_existingLayoutOnWidget():
    """Tests to see if loading a ui onto a layout in a Widget works"""
    import sys
    from Qt import QtWidgets, QtCompat

    msgs = 'QLayout: Attempting to add QLayout "" to QWidget ' \
        '"Form", which already has a layout'

    with ignoreQtMessageHandler([msgs]):
        app = QtWidgets.QApplication(sys.argv)
        win = QtWidgets.QWidget()
        QtWidgets.QComboBox(win)
        QtWidgets.QHBoxLayout(win)
        QtCompat.loadUi(self.ui_qwidget, win)
    app.exit()
Ejemplo n.º 39
0
def test_convert_backup():
    """Converting produces a backup"""

    fname = os.path.join(self.tempdir, "idempotency.py")
    with open(fname, "w") as f:
        f.write("")

    from Qt import QtCompat

    os.chdir(self.tempdir)
    QtCompat.cli(args=["--convert", "idempotency.py"])

    assert os.path.exists(
        os.path.join(self.tempdir, "%s_backup%s" % os.path.splitext(fname))
    )
Ejemplo n.º 40
0
def test_convert_simple():
    """python -m Qt --convert works in general"""
    before = """\
from PySide2 import QtCore, QtGui, QtWidgets

class Ui_uic(object):
    def setupUi(self, uic):
        self.retranslateUi(uic)

    def retranslateUi(self, uic):
        self.pushButton_2.setText(
            QtWidgets.QApplication.translate("uic", "NOT Ok", None, -1))
""".split("\n")

    after = """\
from Qt import QtCompat, QtCore, QtGui, QtWidgets

class Ui_uic(object):
    def setupUi(self, uic):
        self.retranslateUi(uic)

    def retranslateUi(self, uic):
        self.pushButton_2.setText(
            QtCompat.translate("uic", "NOT Ok", None, -1))
""".split("\n")

    from Qt import QtCompat
    assert QtCompat._convert(before) == after, after
Ejemplo n.º 41
0
def ignoreQtMessageHandler(msgs):
    """A context that ignores specific qMessages for all bindings

    Args:
        msgs: list of message strings to ignore
    """
    from Qt import QtCompat

    def messageOutputHandler(msgType, logContext, msg):
        if msg in msgs:
            return
        sys.stderr.write("{0}\n".format(msg))

    QtCompat.qInstallMessageHandler(messageOutputHandler)
    try:
        yield
    finally:
        QtCompat.qInstallMessageHandler(None)
Ejemplo n.º 42
0
def test_load_ui_customwidget():
    """Tests to see if loadUi loads a custom widget properly"""
    import sys
    from Qt import QtWidgets, QtCompat

    app = QtWidgets.QApplication(sys.argv)
    win = QtWidgets.QMainWindow()

    QtCompat.loadUi(self.ui_qcustomwidget, win)

    # Ensure that the derived class was properly created
    # and not the base class (in case of failure)
    custom_class_name = getattr(win, "customwidget", None).__class__.__name__
    excepted_class_name = CustomWidget(win).__class__.__name__
    assert custom_class_name == excepted_class_name, \
        "loadUi could not load custom widget to main window"

    app.exit()
Ejemplo n.º 43
0
def test_load_ui_returntype():
    """load_ui returns an instance of QObject"""

    import sys
    from Qt import QtWidgets, QtCore, QtCompat
    app = QtWidgets.QApplication(sys.argv)
    obj = QtCompat.loadUi(self.ui_qwidget)
    assert isinstance(obj, QtCore.QObject)
    app.exit()
Ejemplo n.º 44
0
    def __init__(self):
        super(Dialog, self).__init__()

        layout = QtWidgets.QVBoxLayout(self)
        layout.setContentsMargins(0, 10, 0, 0)
        fname = os.path.splitext(__file__)[0] + ".ui"
        self.ui = QtCompat.load_ui(fname=fname)
        layout.addWidget(self.ui)

        self.create_connections()
Ejemplo n.º 45
0
def test_convert_idempotency():
    """Converting a converted file produces an identical file"""
    before = """\
from PySide2 import QtCore, QtGui, QtWidgets

class Ui_uic(object):
    def setupUi(self, uic):
        self.retranslateUi(uic)

    def retranslateUi(self, uic):
        self.pushButton_2.setText(
            QtWidgets.QApplication.translate("uic", "NOT Ok", None, -1))
"""

    after = """\
from Qt import QtCore, QtGui, QtWidgets

class Ui_uic(object):
    def setupUi(self, uic):
        self.retranslateUi(uic)

    def retranslateUi(self, uic):
        self.pushButton_2.setText(
            Qt.QtCompat.translate("uic", "NOT Ok", None, -1))
"""

    fname = os.path.join(self.tempdir, "idempotency.py")
    with open(fname, "w") as f:
        f.write(before)

    from Qt import QtCompat

    os.chdir(self.tempdir)
    QtCompat.cli(args=["--convert", "idempotency.py"])

    with open(fname) as f:
        assert f.read() == after

    QtCompat.cli(args=["--convert", "idempotency.py"])

    with open(fname) as f:
        assert f.read() == after
Ejemplo n.º 46
0
    def __init__(self):
        super(PackageDialog, self).__init__()

        main_layout = QtGui.QVBoxLayout(self)
        self.mainWidget = QtCompat.load_ui(ui_path)
        self.setWindowTitle(self.mainWidget.windowTitle())
        main_layout.addWidget(self.mainWidget)

        self.mainWidget.FileButton.clicked.connect(self.on_FileButton_clicked)
        self.mainWidget.packButton.clicked.connect(self.on_packButton_clicked)
        self.mainWidget.cancelButton.clicked.connect(self.close)
Ejemplo n.º 47
0
    def test_wrapInstance():
        """.wrapInstance and .getCppPointer is identical across all bindings"""
        from Qt import QtCompat, QtWidgets

        app = QtWidgets.QApplication(sys.argv)

        try:
            button = QtWidgets.QPushButton("Hello world")
            button.setObjectName("MySpecialButton")
            pointer = QtCompat.getCppPointer(button)
            widget = QtCompat.wrapInstance(long(pointer),
                                           QtWidgets.QWidget)
            assert isinstance(widget, QtWidgets.QWidget), widget
            assert widget.objectName() == button.objectName()

            # IMPORTANT: this differs across sip and shiboken.
            if binding("PySide") or binding("PySide2"):
                assert widget != button
            else:
                assert widget == button

        finally:
            app.exit()
Ejemplo n.º 48
0
def setup_ui(uifile, base_instance=None):
    """Load a Qt Designer .ui file and returns an instance of the user interface

    Args:
        uifile (str): Absolute path to .ui file
        base_instance (QWidget): The widget into which UI widgets are loaded

    Returns:
        QWidget: the base instance

    """
    ui = QtCompat.loadUi(uifile)  # Qt.py mapped function
    if not base_instance:
        return ui
    else:
        for member in dir(ui):
            if not member.startswith('__') and \
               member is not 'staticMetaObject':
                setattr(base_instance, member, getattr(ui, member))
        return ui
 def retranslateUi(self, mainWindow):
     mainWindow.setWindowTitle(QtCompat.translate("mainWindow", "OMTK - Plugin Manager", None, -1))
     self.pushButton_reload.setText(QtCompat.translate("mainWindow", "Reload", None, -1))
     self.actionReload.setText(QtCompat.translate("mainWindow", "Reload", None, -1))
     self.actionSearchQueryChanged.setText(QtCompat.translate("mainWindow", "SearchQueryChanged", None, -1))
 def retranslateUi(self, Dialog):
     Dialog.setWindowTitle(QtCompat.translate("Dialog", "OMTK - Preferences", None, -1))
     self.label.setText(QtCompat.translate("Dialog", "Default Rig Class", None, -1))
 def retranslateUi(self, Form):
     Form.setWindowTitle(QtCompat.translate("Form", "Form", None, -1))
     self.btn_update.setText(QtCompat.translate("Form", "Update", None, -1))
     self.pushButton_selectGrpMeshes.setText(QtCompat.translate("Form", "Select Meshes Grp", None, -1))
 def retranslateUi(self, Form):
     Form.setWindowTitle(QtCompat.translate("Form", "Form", None, -1))
     self.btn_update.setText(QtCompat.translate("Form", "Update", None, -1))
 def retranslateUi(self, Form):
     Form.setWindowTitle(QtCompat.translate("Form", "Form", None, -1))
     self.btn_update.setText(QtCompat.translate("Form", "Update", None, -1))
     self.checkBox_hideAssigned.setText(QtCompat.translate("Form", "Hide Assigned", None, -1))
 def retranslateUi(self, MainWindow):
     MainWindow.setWindowTitle(QtCompat.translate("MainWindow", "Component Creation Wizard", None, -1))
     self.label_ctrl.setText(QtCompat.translate("MainWindow", "Ctrls:", None, -1))
     self.label_infl.setText(QtCompat.translate("MainWindow", "Influences:", None, -1))
     self.label_guid.setText(QtCompat.translate("MainWindow", "Guides:", None, -1))
 def retranslateUi(self, Form):
     Form.setWindowTitle(QtCompat.translate("Form", "Form", None, -1))
     self.pushButton_add.setText(QtCompat.translate("Form", "Add", None, -1))
     self.pushButton_remove.setText(QtCompat.translate("Form", "Remove", None, -1))
     self.pushButton_connect.setText(QtCompat.translate("Form", "Connect", None, -1))
     self.pushButton_disconnect.setText(QtCompat.translate("Form", "Disconnect", None, -1))
Ejemplo n.º 56
0
	def __init__(
		self,
		data=None,
		editable=True,
		header=False,
		showIndices=True,
		minimumVisibleRows=8,
		columnToolTips=None,
		sizeEditable=True,
		columnEditability=None,
		**kw
	) :

		self.__column = GafferUI.ListContainer( GafferUI.ListContainer.Orientation.Vertical )

		GafferUI.Widget.__init__( self, self.__column, **kw )

		# table view

		self.__tableView = _TableView( minimumVisibleRows = minimumVisibleRows )

		self.__tableView.horizontalHeader().setVisible( bool( header ) )
		self.__tableView.horizontalHeader().setMinimumSectionSize( 70 )

		self.__tableView.verticalHeader().setVisible( showIndices )
		QtCompat.setSectionResizeMode( self.__tableView.verticalHeader(), QtWidgets.QHeaderView.Fixed )
		self.__tableView.verticalHeader().setObjectName( "vectorDataWidgetVerticalHeader" )

		self.__tableView.setHorizontalScrollBarPolicy( QtCore.Qt.ScrollBarAlwaysOff )
		self.__tableView.setVerticalScrollBarPolicy( QtCore.Qt.ScrollBarAsNeeded )

		self.__tableView.setSelectionBehavior( QtWidgets.QAbstractItemView.SelectItems )
		self.__tableView.setCornerButtonEnabled( False )

		self.__tableView.setContextMenuPolicy( QtCore.Qt.CustomContextMenu )
		self.__tableView.customContextMenuRequested.connect( Gaffer.WeakMethod( self.__contextMenu ) )

		self.__tableView.verticalHeader().setDefaultSectionSize( 20 )

		self.__tableViewHolder = GafferUI.Widget( self.__tableView )
		self.__column.append( self.__tableViewHolder )

		# buttons

		self.__buttonRow = GafferUI.ListContainer( GafferUI.ListContainer.Orientation.Horizontal, spacing = 4 )

		addButton = GafferUI.Button( image="plus.png", hasFrame=False )
		self.__addButtonConnection = addButton.clickedSignal().connect( Gaffer.WeakMethod( self.__addRows ) )
		self.__buttonRow.append( addButton )

		removeButton = GafferUI.Button( image="minus.png", hasFrame=False )
		self.__removeButtonConnection = removeButton.clickedSignal().connect( Gaffer.WeakMethod( self.__removeSelection ) )
		self.__buttonRow.append( removeButton )

		self.__buttonRow.append( GafferUI.Spacer( size = IECore.V2i( 0 ), maximumSize = IECore.V2i( 100000, 1 ) ), expand=1 )
		self.__column.append( self.__buttonRow )

		# stuff for drag enter/leave and drop

		self.__dragEnterConnections = [
			self.dragEnterSignal().connect( Gaffer.WeakMethod( self.__dragEnter ) ),
			addButton.dragEnterSignal().connect( Gaffer.WeakMethod( self.__dragEnter ) ),
			removeButton.dragEnterSignal().connect( Gaffer.WeakMethod( self.__dragEnter ) ),
		]

		self.__dragLeaveConnections = [
			self.dragLeaveSignal().connect( Gaffer.WeakMethod( self.__dragLeave ) ),
			addButton.dragLeaveSignal().connect( Gaffer.WeakMethod( self.__dragLeave ) ),
			removeButton.dragLeaveSignal().connect( Gaffer.WeakMethod( self.__dragLeave ) ),
		]

		self.__dropConnections = [
			self.dropSignal().connect( Gaffer.WeakMethod( self.__drop ) ),
			addButton.dropSignal().connect( Gaffer.WeakMethod( self.__drop ) ),
			removeButton.dropSignal().connect( Gaffer.WeakMethod( self.__drop ) ),
		]

		self.__dragPointer = "values"

		# stuff for drag begin

		self.__borrowedButtonPress = None
		self.__emittingButtonPress = False
		self.__buttonPressConnection = self.__tableViewHolder.buttonPressSignal().connect( Gaffer.WeakMethod( self.__buttonPress ) )
		self.__buttonReleaseConnection = self.__tableViewHolder.buttonReleaseSignal().connect( Gaffer.WeakMethod( self.__buttonRelease ) )
		self.__mouseMoveConnection = self.__tableViewHolder.mouseMoveSignal().connect( Gaffer.WeakMethod( self.__mouseMove ) )
		self.__dragBeginConnection = self.__tableViewHolder.dragBeginSignal().connect( Gaffer.WeakMethod( self.__dragBegin ) )
		self.__dragEndConnection = self.__tableViewHolder.dragEndSignal().connect( Gaffer.WeakMethod( self.__dragEnd ) )

		# final setup

		self.__dataChangedSignal = GafferUI.WidgetSignal()
		self.__editSignal = Gaffer.Signal3()

		if isinstance( header, list ) :
			self.__headerOverride = header
		else :
			self.__headerOverride = None

		self.__columnToolTips = columnToolTips
		self.__columnEditability = columnEditability

		self.__propagatingDataChangesToSelection = False

		self.__sizeEditable = sizeEditable
		self.setData( data )
		self.setEditable( editable )
Ejemplo n.º 57
0
 def retranslateUi(self, OpenRiggingToolkit):
     OpenRiggingToolkit.setWindowTitle(QtCompat.translate("OpenRiggingToolkit", "Open Rigging Toolkit", None, -1))
     self.label_modules.setText(QtCompat.translate("OpenRiggingToolkit", "Modules", None, -1))
     self.label_jnts.setText(QtCompat.translate("OpenRiggingToolkit", "Influences", None, -1))
     self.label.setText(QtCompat.translate("OpenRiggingToolkit", "Meshes", None, -1))
     self.menuFile.setTitle(QtCompat.translate("OpenRiggingToolkit", "File", None, -1))
     self.menuRig.setTitle(QtCompat.translate("OpenRiggingToolkit", "Rig", None, -1))
     self.menuJoint.setTitle(QtCompat.translate("OpenRiggingToolkit", "Modules", None, -1))
     self.menuInfluences.setTitle(QtCompat.translate("OpenRiggingToolkit", "Influences", None, -1))
     self.menuSettings.setTitle(QtCompat.translate("OpenRiggingToolkit", "Settings", None, -1))
     self.actionUpdate.setText(QtCompat.translate("OpenRiggingToolkit", "Update All", None, -1))
     self.actionUpdate.setToolTip(QtCompat.translate("OpenRiggingToolkit", "Update", None, -1))
     self.actionImport.setText(QtCompat.translate("OpenRiggingToolkit", "Import", None, -1))
     self.actionExport.setText(QtCompat.translate("OpenRiggingToolkit", "Export", None, -1))
     self.actionBuildAll.setText(QtCompat.translate("OpenRiggingToolkit", "Build All", None, -1))
     self.actionUnbuildAll.setText(QtCompat.translate("OpenRiggingToolkit", "Unbuild All", None, -1))
     self.actionRebuildAll.setText(QtCompat.translate("OpenRiggingToolkit", "Rebuild All", None, -1))
     self.actionCreateModule.setText(QtCompat.translate("OpenRiggingToolkit", "Create Module", None, -1))
     self.actionAddSelectedInfluencesToModule.setText(QtCompat.translate("OpenRiggingToolkit", "Add Selected Influences to Module", None, -1))
     self.actionRemoveNodeFromModule.setText(QtCompat.translate("OpenRiggingToolkit", "Remove Selection", None, -1))
     self.actionMirrorJntsLToR.setText(QtCompat.translate("OpenRiggingToolkit", "Mirror L -> R", None, -1))
     self.actionMirrorJntsRToL.setText(QtCompat.translate("OpenRiggingToolkit", "Mirror R -> L", None, -1))
     self.actionMirrorSelection.setText(QtCompat.translate("OpenRiggingToolkit", "Mirror using Selection", None, -1))
     self.actionShowPluginManager.setText(QtCompat.translate("OpenRiggingToolkit", "Plugin Manager", None, -1))
     self.actionShowPreferences.setText(QtCompat.translate("OpenRiggingToolkit", "Preferences", None, -1))
     self.actionAddSelectedMeshesToModule.setText(QtCompat.translate("OpenRiggingToolkit", "Add Selected Meshes to Module", None, -1))