コード例 #1
0
    def __init__(self, parent=None):
        super(ObjectController, self).__init__(parent)
        self.d_ptr = ObjectControllerPrivate()
        self.d_ptr.q_ptr = self
        self.d_ptr.m_object = 0

        ##
        #    scroll = QScrollArea(self)
        #    scroll.setWidgetResizable(True)
        #
        #    self.d_ptr.m_browser = QtGroupBoxPropertyBrowser(self)
        #    layout = QVBoxLayout(self)
        #    layout.setMargin(0)
        #    layout.addWidget(scroll)
        #    scroll.setWidget(self.d_ptr.m_browser)
        ##
        browser = QtTreePropertyBrowser(self)
        browser.setRootIsDecorated(False)
        self.d_ptr.m_browser = browser
        layout = QVBoxLayout(self)
        layout.setContentsMargins(0, 0, 0, 0)
        layout.addWidget(self.d_ptr.m_browser)

        self.d_ptr.m_readOnlyManager = QtVariantPropertyManager(self)
        self.d_ptr.m_manager = QtVariantPropertyManager(self)
        factory = QtVariantEditorFactory(self)
        self.d_ptr.m_browser.setFactoryForManager(self.d_ptr.m_manager,
                                                  factory)

        self.d_ptr.m_manager.valueChangedSignal.connect(
            self.d_ptr.slotValueChanged)
コード例 #2
0
    def setupUi(self, PropertyWidget):
        PropertyWidget.setObjectName("PropertyWidget")
        PropertyWidget.resize(400, 300)
        self.widget_property = QWidget()
        self.setFeatures(QDockWidget.AllDockWidgetFeatures | \
            QDockWidget.DockWidgetVerticalTitleBar)
        self.widget_property.setObjectName("widget_property")
        self.verticalLayout = QVBoxLayout(self.widget_property)
        self.verticalLayout.setContentsMargins(2, 2, 2, 2)
        self.verticalLayout.setObjectName("verticalLayout")
        self.line_path = QLineEdit(self.widget_property)
        self.line_path.setObjectName("line_path")
        self.verticalLayout.addWidget(self.line_path)
        self.prop_browser = QtTreePropertyBrowser()
        self.verticalLayout.addWidget(self.prop_browser)
        PropertyWidget.setWidget(self.widget_property)

        self.retranslateUi(PropertyWidget)
        QMetaObject.connectSlotsByName(PropertyWidget)
コード例 #3
0
ファイル: decoration.py プロジェクト: sunnyLF/LRSMSingle
    app = QApplication(sys.argv)

    undecoratedManager = QtDoublePropertyManager()
    undecoratedProperty = undecoratedManager.addProperty("Undecorated")
    undecoratedManager.setValue(undecoratedProperty, 123.45)

    decoratedManager = DecoratedDoublePropertyManager()
    decoratedProperty = decoratedManager.addProperty("Decorated")
    decoratedManager.setPrefix(decoratedProperty, "speed: ")
    decoratedManager.setSuffix(decoratedProperty, " km/h")
    decoratedManager.setValue(decoratedProperty, 123.45)

    undecoratedFactory = QtDoubleSpinBoxFactory()
    decoratedFactory = DecoratedDoubleSpinBoxFactory()

    editor = QtTreePropertyBrowser()
    editor.setFactoryForManager(undecoratedManager, undecoratedFactory)
    editor.setFactoryForManager(decoratedManager, decoratedFactory)
    editor.addProperty(undecoratedProperty)
    editor.addProperty(decoratedProperty)
    editor.show()

    ret = app.exec()

    del decoratedFactory
    del decoratedManager
    del undecoratedFactory
    del undecoratedManager
    del editor

コード例 #4
0
ファイル: demo.py プロジェクト: sunnyLF/LRSMSingle
    enumIcons[3] = QIcon(":/demo/images/left.png")
    enumManager.setEnumIcons(item8, enumIcons)
    item0.addSubProperty(item8)

    item9 = intManager.addProperty("value")
    intManager.setRange(item9, -100, 100)
    item0.addSubProperty(item9)

    checkBoxFactory = QtCheckBoxFactory(w)
    spinBoxFactory = QtSpinBoxFactory(w)
    sliderFactory = QtSliderFactory(w)
    scrollBarFactory = QtScrollBarFactory(w)
    lineEditFactory = QtLineEditFactory(w)
    comboBoxFactory = QtEnumEditorFactory(w)

    editor1 = QtTreePropertyBrowser()
    editor1.setFactoryForManager(boolManager, checkBoxFactory)
    editor1.setFactoryForManager(intManager, spinBoxFactory)
    editor1.setFactoryForManager(stringManager, lineEditFactory)
    editor1.setFactoryForManager(sizeManager.subIntPropertyManager(), spinBoxFactory)
    editor1.setFactoryForManager(rectManager.subIntPropertyManager(), spinBoxFactory)
    editor1.setFactoryForManager(sizePolicyManager.subIntPropertyManager(), spinBoxFactory)
    editor1.setFactoryForManager(sizePolicyManager.subEnumPropertyManager(), comboBoxFactory)
    editor1.setFactoryForManager(enumManager, comboBoxFactory)

    editor1.addProperty(item0)

    editor2 = QtTreePropertyBrowser()
    editor2.addProperty(item0)

    editor3 = QtGroupBoxPropertyBrowser()
コード例 #5
0
    topItem.addSubProperty(item)

    item = variantManager.addProperty(QVariant.Font, str(i) + " Font Property")
    i += 1
    topItem.addSubProperty(item)

    item = variantManager.addProperty(QVariant.Cursor,
                                      str(i) + " Cursor Property")
    i += 1
    topItem.addSubProperty(item)

    item = variantManager.addProperty(QVariant.Color,
                                      str(i) + " Color Property")
    i += 1
    topItem.addSubProperty(item)

    variantFactory = QtVariantEditorFactory()

    variantEditor = QtTreePropertyBrowser()
    variantEditor.setFactoryForManager(variantManager, variantFactory)
    variantEditor.addProperty(topItem)
    variantEditor.setPropertiesWithoutValueMarked(True)
    variantEditor.setRootIsDecorated(False)

    variantEditor.showMaximized()
    variantEditor.show()
    ret = app.exec_()
    del variantManager
    del variantFactory
    del variantEditor
コード例 #6
0
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.propertyToId = QMap()
        self.idToProperty = QMap()
        self.idToExpanded = QMap()

        editMenu = self.menuBar().addMenu(self.tr("Edit"))
        newObjectMenu = editMenu.addMenu(self.tr("New Object"))

        newRectangleAction = QAction(self.tr("Rectangle"), self)
        newRectangleAction.triggered.connect(self.newRectangle)
        newObjectMenu.addAction(newRectangleAction)

        newLineAction = QAction(self.tr("Line"), self)
        newLineAction.triggered.connect(self.newLine)
        newObjectMenu.addAction(newLineAction)

        newEllipseAction = QAction(self.tr("Ellipse"), self)
        newEllipseAction.triggered.connect(self.newEllipse)
        newObjectMenu.addAction(newEllipseAction)

        newTextAction = QAction(self.tr("Text"), self)
        newTextAction.triggered.connect(self.newText)
        newObjectMenu.addAction(newTextAction)

        self.deleteAction = QAction(self.tr("Delete Object"), self)
        self.deleteAction.triggered.connect(self.deleteObject)
        editMenu.addAction(self.deleteAction)

        clearAction = QAction(self.tr("Clear All"), self)
        clearAction.triggered.connect(self.clearAll)
        editMenu.addAction(clearAction)

        fillAction = QAction(self.tr("Fill View"), self)
        fillAction.triggered.connect(self.fillView)
        editMenu.addAction(fillAction)

        self.variantManager = QtVariantPropertyManager(self)

        self.variantManager.valueChangedSignal.connect(self.valueChanged)
        variantFactory = QtVariantEditorFactory(self)

        self.canvas = QtCanvas(800, 600)
        self.canvasView = CanvasView(self.canvas, self)
        self.setCentralWidget(self.canvasView)

        dock = QDockWidget(self)
        self.addDockWidget(Qt.RightDockWidgetArea, dock)

        self.propertyEditor = QtTreePropertyBrowser(dock)
        self.propertyEditor.setFactoryForManager(self.variantManager,
                                                 variantFactory)
        dock.setWidget(self.propertyEditor)

        self.currentItem = QtCanvasItem(None)

        self.canvasView.itemClickedSignal.connect(self.itemClicked)
        self.canvasView.itemMovedSignal.connect(self.itemMoved)

        self.fillView()
        self.itemClicked(QtCanvasItem(None))
コード例 #7
0
ファイル: extension.py プロジェクト: sunnyLF/LRSMSingle
                self.xToProperty.remove(d.x)
            if (d.y):
                self.yToProperty.remove(d.y)
            self.propertyToData.remove(property)

        super(VariantManager, self).uninitializeProperty(property)


if __name__ == '__main__':
    app = QApplication(sys.argv)

    variantManager = VariantManager()

    item = variantManager.addProperty(QVariant.PointF, "PointF Property")
    item.setValue(QPointF(2.5, 13.13))

    variantFactory = QtVariantEditorFactory()

    ed1 = QtTreePropertyBrowser()
    ed1.setResizeMode(QtTreePropertyBrowser.Interactive)
    varMan = variantManager
    ed1.setFactoryForManager(varMan, variantFactory)
    ed1.addProperty(item)

    ed1.show()

    ret = app.exec()

    del variantFactory
    del variantManager
コード例 #8
0
ファイル: canvas_typed.py プロジェクト: sunnyLF/LRSMSingle
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)

        self.propertyToId = QMap()
        self.idToProperty = QMap()
        self.idToExpanded = QMap()

        editMenu = self.menuBar().addMenu(self.tr("Edit"))
        newObjectMenu = editMenu.addMenu(self.tr("New Object"))

        newRectangleAction = QAction(self.tr("Rectangle"), self)
        newRectangleAction.triggered.connect(self.newRectangle)
        newObjectMenu.addAction(newRectangleAction)

        newLineAction = QAction(self.tr("Line"), self)
        newLineAction.triggered.connect(self.newLine)
        newObjectMenu.addAction(newLineAction)

        newEllipseAction = QAction(self.tr("Ellipse"), self)
        newEllipseAction.triggered.connect(self.newEllipse)
        newObjectMenu.addAction(newEllipseAction)

        newTextAction = QAction(self.tr("Text"), self)
        newTextAction.triggered.connect(self.newText)
        newObjectMenu.addAction(newTextAction)

        self.deleteAction = QAction(self.tr("Delete Object"), self)
        self.deleteAction.triggered.connect(self.deleteObject)
        editMenu.addAction(self.deleteAction)

        clearAction = QAction(self.tr("Clear All"), self)
        clearAction.triggered.connect(self.clearAll)
        editMenu.addAction(clearAction)

        fillAction = QAction(self.tr("Fill View"), self)
        fillAction.triggered.connect(self.fillView)
        editMenu.addAction(fillAction)

        self.doubleManager = QtDoublePropertyManager(self)
        self.stringManager = QtStringPropertyManager(self)
        self.colorManager = QtColorPropertyManager(self)
        self.fontManager = QtFontPropertyManager(self)
        self.pointManager = QtPointPropertyManager(self)
        self.sizeManager = QtSizePropertyManager(self)

        self.doubleManager.valueChangedSignal.connect(self.valueChanged)
        self.stringManager.valueChangedSignal.connect(self.valueChanged)
        self.colorManager.valueChangedSignal.connect(self.valueChanged)
        self.fontManager.valueChangedSignal.connect(self.valueChanged)
        self.pointManager.valueChangedSignal.connect(self.valueChanged)
        self.sizeManager.valueChangedSignal.connect(self.valueChanged)

        doubleSpinBoxFactory = QtDoubleSpinBoxFactory(self)
        checkBoxFactory = QtCheckBoxFactory(self)
        spinBoxFactory = QtSpinBoxFactory(self)
        lineEditFactory = QtLineEditFactory(self)
        comboBoxFactory = QtEnumEditorFactory(self)

        self.canvas = QtCanvas(800, 600)
        self.canvasView = CanvasView(self.canvas, self)
        self.setCentralWidget(self.canvasView)

        dock = QDockWidget(self)
        self.addDockWidget(Qt.RightDockWidgetArea, dock)

        self.propertyEditor = QtTreePropertyBrowser(dock)
        self.propertyEditor.setFactoryForManager(self.doubleManager,
                                                 doubleSpinBoxFactory)
        self.propertyEditor.setFactoryForManager(self.stringManager,
                                                 lineEditFactory)
        self.propertyEditor.setFactoryForManager(
            self.colorManager.subIntPropertyManager(), spinBoxFactory)
        self.propertyEditor.setFactoryForManager(
            self.fontManager.subIntPropertyManager(), spinBoxFactory)
        self.propertyEditor.setFactoryForManager(
            self.fontManager.subBoolPropertyManager(), checkBoxFactory)
        self.propertyEditor.setFactoryForManager(
            self.fontManager.subEnumPropertyManager(), comboBoxFactory)
        self.propertyEditor.setFactoryForManager(
            self.pointManager.subIntPropertyManager(), spinBoxFactory)
        self.propertyEditor.setFactoryForManager(
            self.sizeManager.subIntPropertyManager(), spinBoxFactory)
        dock.setWidget(self.propertyEditor)

        self.currentItem = QtCanvasItem(None)

        self.canvasView.itemClickedSignal.connect(self.itemClicked)
        self.canvasView.itemMovedSignal.connect(self.itemMoved)

        self.fillView()
        self.itemClicked(QtCanvasItem(None))
コード例 #9
0
    def __init__(self):
        super(MainWindow, self).__init__()

        self.setGeometry(0, 0, 1280, 780)

        # Create actions and menus
        self.createMenu()
        self.createToolBar()

        # Create status bar
        self.statusBar().showMessage("Ready")

        # Vulkan widget
        self.vulkanWindow = VulkanWindow(self)
        self.vulkanWindowWidget = QtWidgets.QWidget.createWindowContainer(
            self.vulkanWindow)
        self.vulkanWindow.initialize()

        # Stop rendering while moving the window
        self.moveEventTimer = QtCore.QTimer(self)
        self.moveEventTimer.timeout.connect(self.moveEventDone)

        # Dock layout
        dock = QtWidgets.QDockWidget()
        dock.setAllowedAreas(QtCore.Qt.LeftDockWidgetArea
                             | QtCore.Qt.RightDockWidgetArea)
        self.addDockWidget(QtCore.Qt.LeftDockWidgetArea, dock)

        # Property editor
        self.variantManager = QtVariantPropertyManager(self)
        self.variantManager.valueChangedSignal.connect(self.valueChanged)
        topItem = self.variantManager.addProperty(
            QtVariantPropertyManager.groupTypeId(), "Group Property")
        item = self.variantManager.addProperty(QtCore.QVariant.Bool, "Pause?")
        item.setValue(False)
        topItem.addSubProperty(item)
        self.variantFactory = QtVariantEditorFactory()
        self.propertyEditor = QtTreePropertyBrowser(dock)
        self.propertyEditor.setFactoryForManager(self.variantManager,
                                                 self.variantFactory)
        self.propertyEditor.addProperty(topItem)
        self.propertyEditor.setPropertiesWithoutValueMarked(True)
        self.propertyEditor.setRootIsDecorated(False)

        dock.setWidget(self.propertyEditor)

        # Vulkan viewport
        dock = QtWidgets.QDockWidget()
        dock.setWidget(self.vulkanWindowWidget)

        # Box layout
        #layout = QtWidgets.QVBoxLayout()
        #layout.addWidget(self.button)
        #layout.addWidget(self.vulkanWindowWidget)
        #layout.addWidget(dock)

        #mainWidget = QtWidgets.QWidget()
        #mainWidget.setLayout(layout)

        #self.setCentralWidget(mainWidget)
        self.setCentralWidget(self.vulkanWindowWidget)