예제 #1
0
    def lightLibraryUI(self):
        libraryLabel = QtWidgets.QLabel('')
        libraryLabel.setAlignment(QtCore.Qt.AlignCenter)
        self.layout.addWidget(libraryLabel, 0, 0, 1, 4)

        libHeaderWidget = QtWidgets.QWidget()
        libHeaderLayout = QtWidgets.QHBoxLayout(libHeaderWidget)

        libHeaderScrollArea = QtWidgets.QScrollArea()
        libHeaderScrollArea.setWidget(libHeaderWidget)
        libHeaderScrollArea.setWidgetResizable(True)
        libHeaderScrollArea.setMaximumHeight(45)

        self.layout.addWidget(libHeaderScrollArea, 2, 0, 1, 5)
        self.saveNameField = QtWidgets.QLineEdit()
        self.saveNameField.setMinimumWidth(60)
        libHeaderLayout.addWidget(self.saveNameField)

        saveBtn = QtWidgets.QPushButton('Save')
        saveBtn.setMinimumWidth(120)
        saveBtn.clicked.connect(self.saveItem)
        libHeaderLayout.addWidget(saveBtn)

        buf = 12
        self.listLibWidget = QtWidgets.QListWidget()
        self.listLibWidget.setViewMode(QtWidgets.QListWidget.IconMode)
        self.listLibWidget.setIconSize(QtCore.QSize(60, 60))
        self.listLibWidget.setResizeMode(QtWidgets.QListWidget.Adjust)
        self.listLibWidget.setGridSize(QtCore.QSize(60 + buf, 60 + buf))
        self.layout.addWidget(self.listLibWidget, 3, 0, 1, 5)

        libFooterWidget = QtWidgets.QWidget()
        # libFooterWidget.setSizePolicy( QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum )
        self.libFooterLayout = QtWidgets.QGridLayout(libFooterWidget)
        self.libFooterLayout.setContentsMargins(QtCore.QMargins(2, 2, 2, 2))

        # Create QScrollArea
        scrollLibArea = QtWidgets.QScrollArea()
        scrollLibArea.setWidget(libFooterWidget)
        scrollLibArea.setWidgetResizable(True)
        scrollLibArea.setMaximumHeight(45)
        self.layout.addWidget(scrollLibArea, 4, 0, 1, 5)

        # Create QPlushButton
        importLibBtn = QtWidgets.QPushButton('Import')
        importLibBtn.setMinimumWidth(120)
        importLibBtn.clicked.connect(self.loadItem)
        self.libFooterLayout.addWidget(importLibBtn, 0, 0)

        # # Create QPlushButton
        referenceBtn = QtWidgets.QPushButton('Reference')
        referenceBtn.setMinimumWidth(120)
        referenceBtn.clicked.connect(self.referenceItem)
        self.libFooterLayout.addWidget(referenceBtn, 0, 1)
        #
        # Create QPlushButton
        removeBtn = QtWidgets.QPushButton('Remove')
        removeBtn.setMinimumWidth(120)
        removeBtn.clicked.connect(self.removeItem)
        self.libFooterLayout.addWidget(removeBtn, 0, 2)
예제 #2
0
    def buildUI(self):

        # Create a layout
        layout = QtWidgets.QGridLayout(self)
        layout.setContentsMargins(2,2,2,2)

        # Create a check box of light for visibility
        self.name = QtWidgets.QCheckBox(str(self.light.getTransform()))
        self.name.setChecked(self.light.visibility.get())
        self.name.toggled.connect(lambda val: self.light.getTransform().visibility.set(val))
        layout.addWidget(self.name, 0,0)

        # Create a solo button, it will turn on only the light selected, and disable all others
        soloBtn = QtWidgets.QPushButton('Solo')
        soloBtn.setMaximumWidth(40)
        soloBtn.setCheckable(True)
        soloBtn.toggled.connect(lambda val: self.onSolo.emit(val))
        layout.addWidget(soloBtn, 0,1)

        # Create delete button, delete the light selected
        deleteBtn = QtWidgets.QPushButton('Delete')
        deleteBtn.setMaximumWidth(40)
        deleteBtn.clicked.connect(self.deleteLight)
        layout.addWidget(deleteBtn, 0, 2)

        # intensity of light
        intensityLight = QtWidgets.QLineEdit(str(self.light.intensity.get()))
        intensityLight.setMaximumWidth(80)
        intensityLight.textChanged.connect(lambda val: self.light.intensity.set(float(val)))
        layout.addWidget(intensityLight, 0,3)

        # Change mode of light
        self.colorBtn = QtWidgets.QPushButton()
        self.colorBtn.setMaximumSize(20,20)
        self.setButtonColor()
        self.colorBtn.clicked.connect(self.setColorLight)
        layout.addWidget(self.colorBtn, 0,4)