Beispiel #1
0
    def _build(self):
        """ build name widget
        """
        self.setObjectName("window_menu_frame")
        _layout = QtWidgets.QHBoxLayout(self)
        _layout.setSpacing(4)
        _layout.setContentsMargins(8, 8, 8, 8)
        # title button
        self.title_button = QtWidgets.QPushButton()
        _layout.addWidget(self.title_button)
        self.title_button.setObjectName("attr_title_button")
        self.title_button.setMinimumWidth(120)
        self.title_button.setIcon(
            QtGui.QIcon(
                resource.get("icons", "{}.png").format(self._entity_type)))
        self.title_button.setText("{}{}".format(
            language.word(self._entity_type), language.word("name")))

        # name lineedit
        self.name_lineedit = lineedit.LineEdit()
        _layout.addWidget(self.name_lineedit)
        self.name_lineedit.set_tip(language.word("required"))

        # star button
        self.star_button = QtWidgets.QPushButton()
        _layout.addWidget(self.star_button)
        self.star_button.setObjectName("attr_title_button")
        self.star_button.setIcon(QtGui.QIcon(resource.get("icons",
                                                          "must.png")))
        self.star_button.setMaximumSize(20, 20)
Beispiel #2
0
 def _set_pin(self):
     self._is_pin = not self._is_pin
     if self._is_pin:
         self.__pin_button.setIcon(
             QtGui.QIcon(resource.get("icons", "pin_hover.png")))
     else:
         self.__pin_button.setIcon(
             QtGui.QIcon(resource.get("icons", "pin.png")))
Beispiel #3
0
 def set_pin(self, value):
     self._is_pin = value
     if self._is_pin:
         self.__pin_button.setIcon(
             QtGui.QIcon(resource.get("icons", "pin_hover.png")))
     else:
         self.__pin_button.setIcon(
             QtGui.QIcon(resource.get("icons", "pin.png")))
 def __init__(self, parent=None):
     super(ItemDelegate, self).__init__(parent)
     self._spacing = 4
     self._file_pixmap = QtGui.QPixmap(
         resource.get("icons", "file_hover.png"))
     self._file_pixmap = self._file_pixmap.scaled(
         20, 20, QtCore.Qt.KeepAspectRatio, QtCore.Qt.SmoothTransformation)
    def _build(self):
        """ build name widget

        """
        self.setObjectName("window_menu_frame")
        _layout = QtWidgets.QHBoxLayout(self)
        _layout.setSpacing(4)
        _layout.setContentsMargins(8, 8, 8, 8)
        self.title_widget = QtWidgets.QWidget()
        self.title_layout = QtWidgets.QVBoxLayout(self.title_widget)
        self.title_layout.setSpacing(0)
        self.title_layout.setContentsMargins(0, 0, 0, 0)
        # title button
        #
        self.title_button = QtWidgets.QPushButton()
        self.title_button.setObjectName("attr_title_button")
        self.title_button.setMinimumWidth(120)
        self.title_button.setIcon(
            QtGui.QIcon(
                resource.get("icons", "{}.png".format(self._entity_type))))
        self.title_button.setText("{}{}".format(
            language.word(self._entity_type), language.word("description")))
        self.title_layout.addWidget(self.title_button)
        self.title_layout.addStretch(True)

        # name lineedit
        #
        self.description_textedit = QtWidgets.QTextEdit()

        _layout.addWidget(self.title_widget)
        _layout.addWidget(self.description_textedit)
    def _build(self):
        """ build name widget

        """
        _layout = QtWidgets.QHBoxLayout(self)

        self.title_widget = QtWidgets.QWidget()
        self.title_widget.setFixedWidth(120)
        _layout.addWidget(self.title_widget)
        self.title_layout = QtWidgets.QVBoxLayout(self.title_widget)
        self.title_layout.setSpacing(0)
        self.title_layout.setContentsMargins(0,0,0,0)
        self.title_button = QtWidgets.QPushButton()
        self.title_layout.addWidget(self.title_button)
        self.title_button.setObjectName("attr_title_button")
        self.title_button.setIcon(QtGui.QIcon(resource.get("icons", "{}.png".format(self._entity_type))))
        self.title_button.setText("{}".format(language.word(self._entity_type)))
        self.title_layout.addStretch(True)

        # name lineedit
        self.color_widget = colorcardwidget.ColorCardWidget()
        _layout.addWidget(self.color_widget)
        
        # # star button
        # self.star_button = QtWidgets.QPushButton()
        # _layout.addWidget(self.star_button)
        # self.star_button.setObjectName("attr_title_button")
        # self.star_button.setIcon(QtGui.QIcon(resource.get("icons", "must.png")))
        # self.star_button.setMaximumSize(20,20)

        
        
        
Beispiel #7
0
    def __init__(self, parent=None):
        super(ItemDelegate, self).__init__(parent)

        self._spacing = 15
        self._spacing_height = 6

        self._star_bright_pixmap = QtGui.QPixmap(
            resource.get("icons", "star_on.png"))
    def _build(self):
        self.setMaximumWidth(200)
        _layout = QtWidgets.QVBoxLayout(self)
        _layout.setSpacing(0)
        _layout.setContentsMargins(0,0,0,0)

        # filter type widget
        self.filter_type_widget = QtWidgets.QFrame()
        _layout.addWidget(self.filter_type_widget)
        self.filter_type_layout = QtWidgets.QVBoxLayout(self.filter_type_widget)
        self.filter_type_layout.setSpacing(0)
        self.filter_type_layout.setContentsMargins(0,0,0,0)
        #  title button
        self.filter_type_name_button = QtWidgets.QPushButton()
        self.filter_type_name_button.setObjectName("title_button")
        self.filter_type_name_button.setMaximumHeight(25)
        self.filter_type_name_button.setText(u"资产类型检索")
        self.filter_type_name_button.setIcon(QtGui.QIcon(resource.get("icons","filter.png")))
        self.filter_type_layout.addWidget(self.filter_type_name_button)
        #  type widget
        self.filter_type_checkbox_widget = QtWidgets.QFrame()
        self.filter_type_layout.addWidget(self.filter_type_checkbox_widget)
        self.filter_type_checkbox_layout = QtWidgets.QVBoxLayout(self.filter_type_checkbox_widget)
        self.filter_type_checkbox_layout.setContentsMargins(20,0,0,0)

        # asset task step
        self.step_widget = QtWidgets.QFrame()
        _layout.addWidget(self.step_widget)
        self.step_layout = QtWidgets.QVBoxLayout(self.step_widget)
        self.step_layout.setSpacing(0)
        self.step_layout.setContentsMargins(0,0,0,0)
        self.step_name_button = QtWidgets.QPushButton()
        self.step_name_button.setObjectName("title_button")
        self.step_name_button.setMaximumHeight(25)
        self.step_name_button.setText(u"资产任务步骤")
        self.step_name_button.setIcon(QtGui.QIcon(resource.get("icons","filter.png")))
        self.step_layout.addWidget(self.step_name_button)
        # step checkbox widget
        self.step_checkbox_widget = QtWidgets.QFrame()
        self.step_checkbox_layout = QtWidgets.QVBoxLayout(self.step_checkbox_widget)
        self.step_checkbox_layout.setContentsMargins(20,0,0,0)
        self.step_group = QtWidgets.QButtonGroup(self.step_checkbox_widget)
        self.step_layout.addWidget(self.step_checkbox_widget)

        _layout.addStretch(True)
Beispiel #9
0
 def custom_context_menu(self, pos):
     """ 自定义右击菜单
     """
     _menu = QtWidgets.QMenu(self)
     _current_index = self.indexAt(pos)
     _index = _current_index.sibling(_current_index.row(), 0)
     if _index.isValid():
         _menu.addAction(QtGui.QIcon(resource.get("icons", "publish.png")),
                         u"上传文件", self._upload)
     _menu.exec_(QtGui.QCursor().pos())
Beispiel #10
0
    def _build(self):
        _layout = QtWidgets.QVBoxLayout(self)
        _layout.setSpacing(0)
        _layout.setContentsMargins(0, 0, 0, 0)

        self.head_widget = QtWidgets.QFrame()
        _layout.addWidget(self.head_widget)
        self.head_widget.setMinimumHeight(30)
        self.head_widget.setObjectName("attr_frame")
        self.head_layout = QtWidgets.QHBoxLayout(self.head_widget)
        self.head_layout.setSpacing(0)
        self.head_layout.setContentsMargins(0, 0, 0, 0)
        # name
        self.name_button = QtWidgets.QPushButton()
        self.name_button.setObjectName("icon_button")
        self.name_button.setText(language.word("library"))
        self.name_button.setIcon(
            QtGui.QIcon(resource.get("icons", "library.png")))
        self.name_button.setFixedHeight(30)
        self.head_layout.addWidget(self.name_button)
        self.head_layout.addStretch(True)
        # 刷新
        self.refresh_button = button.IconButton(
            self, resource.get("icons", "refresh.png"),
            resource.get("icons", "refresh_hover.png"),
            resource.get("icons", "refresh_pressed.png"))
        self.refresh_button.setFixedSize(30, 30)
        self.head_layout.addWidget(self.refresh_button)

        # search lineedit
        self.search_lineedit = lineedit.SearchLineEdit()
        _layout.addWidget(self.search_lineedit)
        self.search_lineedit.setFixedHeight(30)

        # tree view
        self.list_view = listview.ListView()
        self.list_view.setItemDelegate(
            itemdelegate.ItemDelegate(self.list_view))
        _layout.addWidget(self.list_view)
        self.list_model = listmodel.ListModel([])
        self.list_proxy_model = listmodel.ListFilterProxyModel()
        self.list_view.setModel(self.list_proxy_model)
    def _build(self):
        """ build operation widget

        """
        self.setMaximumHeight(40)

        _layout = QtWidgets.QVBoxLayout(self)
        _layout.setSpacing(2)
        _layout.setContentsMargins(2, 4, 2, 2)

        # check widget
        # check current file
        self.check_file_button = QtWidgets.QPushButton()
        self.check_file_button.setMinimumSize(100, 40)
        self.check_file_button.setText(u"检测当前文件")

        # task widget
        self.task_widget = QtWidgets.QFrame()
        _layout.addWidget(self.task_widget)
        self.task_layout = QtWidgets.QHBoxLayout(self.task_widget)
        self.task_layout.setSpacing(2)
        self.task_layout.setContentsMargins(2, 2, 2, 2)
        # project
        self.project_button = button.IconButton(
            self, resource.get("icons", "project.png"),
            resource.get("icons", "project.png"),
            resource.get("icons", "project.png"))
        self.task_layout.addWidget(self.project_button)
        self.project_button.setText("未设置项目")
        self.project_button.setObjectName("task_link_button")
        # entity name code
        self.link_button = button.IconButton(self,
                                             resource.get("icons", "link.png"),
                                             resource.get("icons", "link.png"),
                                             resource.get("icons", "link.png"))
        self.task_layout.addWidget(self.link_button)
        self.link_button.setText("未设置当前任务")
        self.link_button.setObjectName("task_link_button")
        # task
        self.task_button = button.IconButton(self,
                                             resource.get("icons", "task.png"),
                                             resource.get("icons", "task.png"),
                                             resource.get("icons", "task.png"))
        self.task_layout.addWidget(self.task_button)
        self.task_button.setText("未设置当前任务")
        self.task_button.setObjectName("task_link_button")
        self.task_layout.addStretch(True)
 def custom_context_menu(self, pos):
     """ 自定义右击菜单
     """
     _menu = QtWidgets.QMenu(self)
     _index = self.currentIndex()
     _library_id = _index.data().get("LibraryId")
     # _index = _current_index.sibling(_current_index.row(),0)
     if _index.isValid():
         _menu.addSeparator()
         _menu.addAction(QtGui.QIcon(resource.get("icons", "remove.png")),
                         "移出预览", self._remove)
     _menu.exec_(QtGui.QCursor().pos())
    def _build(self):
        """ build widget
        """
        self.setFixedHeight(40)
        self.setObjectName("library_operation_frame")

        _layout = QtWidgets.QHBoxLayout(self)
        _layout.setSpacing(2)
        _layout.setContentsMargins(2, 2, 2, 2)

        # # new button
        # self.new_button = button.IconButton( self,
        #                                               resource.get("icons", "add.png"),
        #                                               resource.get("icons", "add_hover.png"),
        #                                               resource.get("icons", "add_pressed.png"))
        # self.new_button.setText(language.word("new object"))
        # self.new_button.setMaximumHeight(25)
        # _layout.addWidget(self.new_button)

        _layout.addStretch(True)

        # search lineedit
        self.search_lineedit = lineedit.SearchLineEdit()
        self.search_lineedit.setFixedSize(200, 25)
        _layout.addWidget(self.search_lineedit)

        # refresh button
        self.refresh_button = button.IconButton(
            self, resource.get("icons", "refresh.png"),
            resource.get("icons", "refresh_hover.png"),
            resource.get("icons", "refresh_pressed.png"))
        #self.refresh_button.setText(language.word("refresh"))
        self.refresh_button.setFixedSize(30, 30)
        _layout.addWidget(self.refresh_button)

        #  add line
        _line = QtWidgets.QFrame()
        _line.setMinimumWidth(1)
        _line.setStyleSheet("QFrame{background-color: #E6E7EA}")
        _layout.addWidget(_line)
    def __init__(self, parent=None):
        super(ItemDelegate, self).__init__(parent)

        self._spacing = 4
        self._extend_width = 10
        self._font = QtGui.QFont("Microsoft YaHei UI", 9)
        self._background_color = parent.palette().color(
            parent.backgroundRole())

        self._file_pixmap = QtGui.QPixmap(
            resource.get("icons", "file_hover.png"))
        self._file_pixmap = self._file_pixmap.scaled(
            20, 20, QtCore.Qt.KeepAspectRatio, QtCore.Qt.SmoothTransformation)
    def _build(self):
        """ build name widget

        """
        _layout = QtWidgets.QHBoxLayout(self)
        _layout.setSpacing(4)
        _layout.setContentsMargins(8,8,8,8)
        self.title_widget = QtWidgets.QWidget()
        self.title_widget.setFixedWidth(120)
        _layout.addWidget(self.title_widget)
        self.title_layout = QtWidgets.QVBoxLayout(self.title_widget)
        self.title_layout.setSpacing(0)
        self.title_layout.setContentsMargins(0,0,0,0)
        self.title_button = QtWidgets.QPushButton()
        self.title_layout.addWidget(self.title_button)
        self.title_button.setObjectName("attr_title_button")
        self.title_button.setIcon(QtGui.QIcon(resource.get("icons", "{}.png".format(self._entity_type))))
        self.title_button.setText("{}".format(language.word(self._entity_type)))
        self.title_layout.addStretch(True)
    def _build(self):
        self.resize(160, 200)
        #self.setMaximumWidth(300)
        _layout = QtWidgets.QVBoxLayout(self)
        _layout.setSpacing(2)
        _layout.setContentsMargins(0, 0, 0, 0)

        # ==================================================================================
        # asset property widget

        # ==================================================================================
        # project step widget
        self.step_widget = QtWidgets.QFrame()
        _layout.addWidget(self.step_widget)
        self.step_widget.setMinimumHeight(25)
        self.step_layout = QtWidgets.QVBoxLayout(self.step_widget)
        self.step_layout.setSpacing(0)
        self.step_layout.setContentsMargins(0, 0, 0, 0)
        # name button
        self.step_button = QtWidgets.QPushButton()
        self.step_button.setText(u"项目步骤")
        self.step_button.setIcon(QtGui.QIcon(resource.get("icons",
                                                          "step.png")))
        self.step_button.setObjectName("title_button")
        self.step_layout.addWidget(self.step_button)
        # version listwidget
        self.version_listwidget = versionlistwidget.listwidget.ListWidget()
        _layout.addWidget(self.version_listwidget)
        # description widget
        self.description_textedit = QtWidgets.QTextEdit()
        _layout.addWidget(self.description_textedit)
        self.description_textedit.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.description_textedit.setEnabled(False)
        self.description_textedit.setMaximumHeight(60)
        self.description_textedit.setPlaceholderText("version description")
        # operation widget
        self.operation_widget = QtWidgets.QFrame()
        _layout.addWidget(self.operation_widget)
        self.operation_widget.setObjectName("operation_widget")
        self.operation_widget.setMinimumHeight(30)
        self.operation_layout = QtWidgets.QVBoxLayout(self.operation_widget)
        self.operation_layout.setContentsMargins(0, 0, 0, 0)
    def _build(self):
        """ build ass user widget
        
        """
        self.resize(400, 600)
        self.set_title(language.word("new library entity"),
                       resource.get("icons", "library.png"))

        # library title
        self.title_button = QtWidgets.QPushButton()
        self.add_content_widget(self.title_button)

        # content widgets
        self.content_widget = QtWidgets.QWidget()
        self.add_content_widget(self.content_widget)
        self.content_layout = QtWidgets.QVBoxLayout(self.content_widget)

        # name widget
        self.name_widget = namewidget.NameWidget("library entity")
        self.content_layout.addWidget(self.name_widget)

        # code widget
        self.code_widget = codewidget.CodeWidget("library entity")
        self.content_layout.addWidget(self.code_widget)

        # category widget
        # self.category_widget = categorywidget

        #  description widget
        self.description_widget = descriptionwidget.DescriptionWidget(
            "library entity")
        self.content_layout.addWidget(self.description_widget)

        self.content_layout.addStretch(True)

        # tab order
        self.setTabOrder(self.name_widget.order_widget(),
                         self.code_widget.order_widget())
    def _build(self):

        self.resize(400, 600)
        self.set_title(language.word("new category"),
                       resource.get("icons", "category.png"))

        # library title
        self.title_button = QtWidgets.QPushButton()
        self.add_content_widget(self.title_button)

        # content widgets
        self.content_widget = QtWidgets.QWidget()
        self.add_content_widget(self.content_widget)
        self.content_layout = QtWidgets.QVBoxLayout(self.content_widget)

        # name widget
        self.name_widget = namewidget.NameWidget("category")
        self.content_layout.addWidget(self.name_widget)

        # code widget
        self.code_widget = codewidget.CodeWidget("category")
        self.content_layout.addWidget(self.code_widget)

        # color widget
        self.color_widget = colorwidget.ColorWidget("color")
        self.color_widget.setFixedHeight(200)
        self.content_layout.addWidget(self.color_widget)

        #  description widget
        self.description_widget = descriptionwidget.DescriptionWidget(
            "category")
        self.content_layout.addWidget(self.description_widget)

        self.content_layout.addStretch(True)

        # tab order
        self.setTabOrder(self.name_widget.order_widget(),
                         self.code_widget.order_widget())
    def _build(self):
        self.setMaximumWidth(200)
        _layout = QtWidgets.QVBoxLayout(self)
        _layout.setSpacing(0)
        _layout.setContentsMargins(0, 0, 0, 0)

        # asset task step
        self.step_widget = QtWidgets.QFrame()
        _layout.addWidget(self.step_widget)
        self.step_layout = QtWidgets.QVBoxLayout(self.step_widget)
        self.step_layout.setSpacing(0)
        self.step_layout.setContentsMargins(0, 0, 0, 0)

        # asset
        self.asset_step_name_button = QtWidgets.QPushButton()
        self.asset_step_name_button.setObjectName("title_button")
        self.asset_step_name_button.setMaximumHeight(25)
        self.asset_step_name_button.setText(language.word("asset"))
        self.asset_step_name_button.setIcon(
            QtGui.QIcon(resource.get("icons", "asset.png")))
        self.step_layout.addWidget(self.asset_step_name_button)
        self.asset_step_checkbox_widget = QtWidgets.QFrame()
        self.asset_step_checkbox_layout = QtWidgets.QVBoxLayout(
            self.asset_step_checkbox_widget)
        self.asset_step_checkbox_layout.setContentsMargins(20, 0, 0, 0)
        self.step_layout.addWidget(self.asset_step_checkbox_widget)

        # assembly
        self.assembly_step_name_button = QtWidgets.QPushButton()
        self.assembly_step_name_button.setObjectName("title_button")
        self.assembly_step_name_button.setMaximumHeight(25)
        self.assembly_step_name_button.setText(language.word("assembly"))
        self.assembly_step_name_button.setIcon(
            QtGui.QIcon(resource.get("icons", "assembly.png")))
        self.step_layout.addWidget(self.assembly_step_name_button)
        self.assembly_step_checkbox_widget = QtWidgets.QFrame()
        self.assembly_step_checkbox_layout = QtWidgets.QVBoxLayout(
            self.assembly_step_checkbox_widget)
        self.assembly_step_checkbox_layout.setContentsMargins(20, 0, 0, 0)
        self.step_layout.addWidget(self.assembly_step_checkbox_widget)

        # sequence
        self.sequence_step_name_button = QtWidgets.QPushButton()
        self.sequence_step_name_button.setObjectName("title_button")
        self.sequence_step_name_button.setMaximumHeight(25)
        self.sequence_step_name_button.setText(language.word("sequence"))
        self.sequence_step_name_button.setIcon(
            QtGui.QIcon(resource.get("icons", "sequence.png")))
        self.step_layout.addWidget(self.sequence_step_name_button)
        self.sequence_step_checkbox_widget = QtWidgets.QFrame()
        self.sequence_step_checkbox_layout = QtWidgets.QVBoxLayout(
            self.sequence_step_checkbox_widget)
        self.sequence_step_checkbox_layout.setContentsMargins(20, 0, 0, 0)
        self.step_layout.addWidget(self.sequence_step_checkbox_widget)

        # shot
        self.shot_step_name_button = QtWidgets.QPushButton()
        self.shot_step_name_button.setObjectName("title_button")
        self.shot_step_name_button.setMaximumHeight(25)
        self.shot_step_name_button.setText(language.word("shot"))
        self.shot_step_name_button.setIcon(
            QtGui.QIcon(resource.get("icons", "shot.png")))
        self.step_layout.addWidget(self.shot_step_name_button)
        self.shot_step_checkbox_widget = QtWidgets.QFrame()
        self.shot_step_checkbox_layout = QtWidgets.QVBoxLayout(
            self.shot_step_checkbox_widget)
        self.shot_step_checkbox_layout.setContentsMargins(20, 0, 0, 0)
        self.step_layout.addWidget(self.shot_step_checkbox_widget)

        # # step checkbox widget
        # self.step_checkbox_widget = QtWidgets.QFrame()
        # self.step_checkbox_layout = QtWidgets.QVBoxLayout(self.step_checkbox_widget)
        # self.step_checkbox_layout.setContentsMargins(20,0,0,0)
        self.step_group = QtWidgets.QButtonGroup(self)
        # self.step_layout.addWidget(self.step_checkbox_widget)
        _layout.addStretch(True)
    def _build(self):
        self.setMaximumWidth(200)
        _layout = QtWidgets.QVBoxLayout(self)
        _layout.setSpacing(0)
        _layout.setContentsMargins(0, 0, 0, 0)

        # # filter type widget
        # self.filter_type_widget = QtWidgets.QFrame()
        # _layout.addWidget(self.filter_type_widget)
        # self.filter_type_layout = QtWidgets.QVBoxLayout(self.filter_type_widget)
        # self.filter_type_layout.setSpacing(0)
        # self.filter_type_layout.setContentsMargins(0,0,0,0)
        # #  title button
        # self.filter_project_step_button = QtWidgets.QPushButton()
        # self.filter_project_step_button.setMaximumHeight(25)
        # self.filter_project_step_button.setText(u"任务步骤检索")
        # self.filter_project_step_button.setIcon(QtGui.QIcon(resource.get("icons","filter.png")))
        # self.filter_type_layout.addWidget(self.filter_project_step_button)
        # #  type widget
        # self.filter_project_step_checkbox_widget = QtWidgets.QFrame()
        # self.filter_type_layout.addWidget(self.filter_project_step_checkbox_widget)
        # self.filter_project_step_checkbox_layout = QtWidgets.QVBoxLayout(self.filter_project_step_checkbox_widget)
        # self.filter_project_step_checkbox_layout.setContentsMargins(20,0,0,0)

        # self.step_name_button = QtWidgets.QPushButton()
        # self.step_name_button.setMaximumHeight(25)
        # self.step_name_button.setText(u"任务步骤")
        # self.step_name_button.setIcon(QtGui.QIcon(resource.get("icons","filter.png")))
        # _layout.addWidget(self.step_name_button)

        # asset task step
        self.step_widget = QtWidgets.QFrame()
        _layout.addWidget(self.step_widget)
        self.step_layout = QtWidgets.QVBoxLayout(self.step_widget)
        self.step_layout.setSpacing(0)
        self.step_layout.setContentsMargins(0, 0, 0, 0)

        # asset
        self.asset_step_name_button = QtWidgets.QPushButton()
        self.asset_step_name_button.setMaximumHeight(25)
        self.asset_step_name_button.setText(
            language.word("task step for asset"))
        self.asset_step_name_button.setObjectName("attr_name_button")
        self.asset_step_name_button.setIcon(
            QtGui.QIcon(resource.get("icons", "asset.png")))
        self.step_layout.addWidget(self.asset_step_name_button)
        self.asset_step_checkbox_widget = QtWidgets.QFrame()
        self.asset_step_checkbox_layout = QtWidgets.QVBoxLayout(
            self.asset_step_checkbox_widget)
        self.asset_step_checkbox_layout.setContentsMargins(20, 0, 0, 0)
        self.step_layout.addWidget(self.asset_step_checkbox_widget)

        # # sequence
        # self.sequence_step_name_button = QtWidgets.QPushButton()
        # self.sequence_step_name_button.setMaximumHeight(25)
        # self.sequence_step_name_button.setText(language.word("sequence"))
        # self.sequence_step_name_button.setIcon(QtGui.QIcon(resource.get("icons","sequence.png")))
        # self.step_layout.addWidget(self.sequence_step_name_button)
        # self.sequence_step_checkbox_widget = QtWidgets.QFrame()
        # self.sequence_step_checkbox_layout = QtWidgets.QVBoxLayout(self.sequence_step_checkbox_widget)
        # self.sequence_step_checkbox_layout.setContentsMargins(20,0,0,0)
        # self.step_layout.addWidget(self.sequence_step_checkbox_widget)

        # # shot
        # self.shot_step_name_button = QtWidgets.QPushButton()
        # self.shot_step_name_button.setMaximumHeight(25)
        # self.shot_step_name_button.setText(language.word("shot"))
        # self.shot_step_name_button.setIcon(QtGui.QIcon(resource.get("icons","shot.png")))
        # self.step_layout.addWidget(self.shot_step_name_button)
        # self.shot_step_checkbox_widget = QtWidgets.QFrame()
        # self.shot_step_checkbox_layout = QtWidgets.QVBoxLayout(self.shot_step_checkbox_widget)
        # self.shot_step_checkbox_layout.setContentsMargins(20,0,0,0)
        # self.step_layout.addWidget(self.shot_step_checkbox_widget)

        # # step checkbox widget
        # self.step_checkbox_widget = QtWidgets.QFrame()
        # self.step_checkbox_layout = QtWidgets.QVBoxLayout(self.step_checkbox_widget)
        # self.step_checkbox_layout.setContentsMargins(20,0,0,0)
        self.step_group = QtWidgets.QButtonGroup(self)
        # self.step_layout.addWidget(self.step_checkbox_widget)
        _layout.addStretch(True)

        # update all
        self.update_project_step_button = QtWidgets.QPushButton()
        self.update_project_step_button.setMinimumSize(100, 40)
        self.update_project_step_button.setText(u"任务步骤批量更新")
        _layout.addWidget(self.update_project_step_button)
Beispiel #21
0
    def _build(self):
        self.setMaximumWidth(240)
        _layout = QtWidgets.QVBoxLayout(self)
        _layout.setSpacing(0)
        _layout.setContentsMargins(0,0,0,0)

        # # asset task step
        # self.step_widget = QtWidgets.QFrame()
        # _layout.addWidget(self.step_widget)
        # self.step_layout = QtWidgets.QVBoxLayout(self.step_widget)
        # self.step_layout.setSpacing(0)
        # self.step_layout.setContentsMargins(0,0,0,0)

        # self.tab_widget = QtWidgets.QTabWidget()
        # self.step_layout.addWidget(self.tab_widget)
        # self.tab_widget.setStyleSheet("QTabBar::tab{height:24px;}")

        # asset frame
        self.asset_widget = QtWidgets.QFrame()
        # self.tab_widget.addTab(self.asset_widget, u"资产")
        _layout.addWidget(self.asset_widget)
        self.asset_layout = QtWidgets.QVBoxLayout(self.asset_widget)
        self.asset_layout.setSpacing(0)
        self.asset_layout.setContentsMargins(0,0,0,0)
        self.asset_step_name_button = QtWidgets.QPushButton()
        self.asset_step_name_button.setObjectName("title_button")
        self.asset_step_name_button.setMaximumHeight(25)
        self.asset_step_name_button.setText(language.word("asset"))
        self.asset_step_name_button.setIcon(QtGui.QIcon(resource.get("icons","asset.png")))
        self.asset_layout.addWidget(self.asset_step_name_button)
        self.asset_step_checkbox_widget = QtWidgets.QFrame()
        self.asset_step_checkbox_layout = QtWidgets.QVBoxLayout(self.asset_step_checkbox_widget)
        self.asset_step_checkbox_layout.setContentsMargins(20,0,0,0)
        self.asset_layout.addWidget(self.asset_step_checkbox_widget)
        self.asset_layout.addStretch(True)
        
        # assembly
        self.assembly_widget = QtWidgets.QFrame()
        # self.tab_widget.addTab(self.assembly_widget, u"场景")
        _layout.addWidget(self.assembly_widget)
        self.assembly_layout = QtWidgets.QVBoxLayout(self.assembly_widget)
        self.assembly_layout.setSpacing(0)
        self.assembly_layout.setContentsMargins(0,0,0,0)
        self.assembly_step_name_button = QtWidgets.QPushButton()
        self.assembly_step_name_button.setObjectName("title_button")
        self.assembly_step_name_button.setMaximumHeight(25)
        self.assembly_step_name_button.setText(language.word("assembly"))
        self.assembly_step_name_button.setIcon(QtGui.QIcon(resource.get("icons","assembly.png")))
        self.assembly_layout.addWidget(self.assembly_step_name_button)
        self.assembly_step_checkbox_widget = QtWidgets.QFrame()
        self.assembly_step_checkbox_layout = QtWidgets.QVBoxLayout(self.assembly_step_checkbox_widget)
        self.assembly_step_checkbox_layout.setContentsMargins(20,0,0,0)
        self.assembly_layout.addWidget(self.assembly_step_checkbox_widget)
        self.assembly_layout.addStretch(True)

        # sequence
        self.sequence_widget = QtWidgets.QFrame()
        # self.tab_widget.addTab(self.sequence_widget, u"场次")
        _layout.addWidget(self.sequence_widget)
        self.sequence_layout = QtWidgets.QVBoxLayout(self.sequence_widget)
        self.sequence_layout.setSpacing(0)
        self.sequence_layout.setContentsMargins(0,0,0,0)
        self.sequence_step_name_button = QtWidgets.QPushButton()
        self.sequence_step_name_button.setObjectName("title_button")
        self.sequence_step_name_button.setMaximumHeight(25)
        self.sequence_step_name_button.setText(language.word("sequence"))
        self.sequence_step_name_button.setIcon(QtGui.QIcon(resource.get("icons","sequence.png")))
        self.sequence_layout.addWidget(self.sequence_step_name_button)
        self.sequence_step_checkbox_widget = QtWidgets.QFrame()
        self.sequence_step_checkbox_layout = QtWidgets.QVBoxLayout(self.sequence_step_checkbox_widget)
        self.sequence_step_checkbox_layout.setContentsMargins(20,0,0,0)
        self.sequence_layout.addWidget(self.sequence_step_checkbox_widget)
        self.sequence_layout.addStretch(True)

        # shot
        self.shot_widget = QtWidgets.QFrame()
        # self.tab_widget.addTab(self.shot_widget, u"镜头")
        _layout.addWidget(self.shot_widget)
        self.shot_layout = QtWidgets.QVBoxLayout(self.shot_widget)
        self.shot_layout.setSpacing(0)
        self.shot_layout.setContentsMargins(0,0,0,0)
        self.shot_step_name_button = QtWidgets.QPushButton()
        self.shot_step_name_button.setObjectName("title_button")
        self.shot_step_name_button.setMaximumHeight(25)
        self.shot_step_name_button.setText(language.word("shot"))
        self.shot_step_name_button.setIcon(QtGui.QIcon(resource.get("icons","shot.png")))
        self.shot_layout.addWidget(self.shot_step_name_button)
        self.shot_step_checkbox_widget = QtWidgets.QFrame()
        self.shot_step_checkbox_layout = QtWidgets.QVBoxLayout(self.shot_step_checkbox_widget)
        self.shot_step_checkbox_layout.setContentsMargins(20,0,0,0)
        self.shot_layout.addWidget(self.shot_step_checkbox_widget)
        self.shot_layout.addStretch(True)

        # # step checkbox widget
        # self.step_checkbox_widget = QtWidgets.QFrame()
        # self.step_checkbox_layout = QtWidgets.QVBoxLayout(self.step_checkbox_widget)
        # self.step_checkbox_layout.setContentsMargins(20,0,0,0)
        self.step_group = QtWidgets.QButtonGroup(self)
        # self.step_layout.addWidget(self.step_checkbox_widget)
        _layout.addStretch(True)
Beispiel #22
0
    def _base_build(self):
        self.resize(1200, 600)
        self.widget = QtWidgets.QFrame()
        self.widget.setMouseTracking(True)
        self.widget.installEventFilter(self)
        self.layout = QtWidgets.QVBoxLayout(self.widget)
        self.layout.setSpacing(0)
        self.layout.setContentsMargins(4, 4, 4, 4)
        self.setCentralWidget(self.widget)

        # title widget
        self.title_widget = QtWidgets.QFrame()
        self.title_widget.setMinimumHeight(50)
        self.title_widget.setMaximumHeight(50)
        self.title_layout = QtWidgets.QHBoxLayout(self.title_widget)
        self.title_layout.setSpacing(0)
        self.title_layout.setContentsMargins(5, 0, 5, 0)
        #  name frame
        self.name_widget = QtWidgets.QWidget()
        self.title_layout.addWidget(self.name_widget)
        self.name_layout = QtWidgets.QHBoxLayout(self.name_widget)
        self.name_layout.setContentsMargins(0, 0, 0, 0)
        self.name_button = QtWidgets.QPushButton()
        self.name_button.setObjectName("name_button")
        self.name_button.setFlat(True)
        self.name_button.setEnabled(False)
        self.name_button.setIcon(
            QtGui.QIcon(resource.get("icons", "z_title.png")))
        self.name_button.setText("zFused for maya {}".format(
            zfused_maya.version()))
        self.name_layout.addWidget(self.name_button)
        # title label
        self.title_label = QtWidgets.QPushButton()
        self.title_label.setFlat(True)
        self.title_label.setObjectName("title_button")
        self.title_label.setMaximumHeight(30)
        self.title_label.setText("Title Name")
        #self.title_layout.addStretch(True)
        self.title_layout.addWidget(self.title_label)
        self.title_layout.addStretch(True)
        # close frame
        self.close_widegt = QtWidgets.QWidget()
        self.title_layout.addWidget(self.close_widegt)
        self.close_layout = QtWidgets.QHBoxLayout(self.close_widegt)
        self.close_layout.setContentsMargins(0, 0, 0, 0)

        # =======================================================================================================
        # help button
        self.help_button = _Button(self.close_widegt,
                                   resource.get("icons", "help.png"),
                                   resource.get("icons", "help_hover.png"),
                                   resource.get("icons", "help_pressed.png"))
        self.help_button.setFlat(True)
        self.help_button.setMinimumSize(20, 20)
        self.help_button.setMaximumSize(20, 20)
        self.close_layout.addWidget(self.help_button)

        self.close_button = _Button(self.close_widegt,
                                    resource.get("icons", "close.png"),
                                    resource.get("icons", "close_hover.png"),
                                    resource.get("icons", "close_hover.png"))
        self.close_button.setObjectName("close_button")
        self.close_button.setFlat(True)
        self.close_button.setMinimumSize(20, 20)
        self.close_button.setMaximumSize(20, 20)
        # self.close_layout.addWidget(self.min_button)
        # self.close_layout.addWidget(self.max_button)
        self.close_layout.addWidget(self.close_button)

        # central widget
        self.central_widget = QtWidgets.QFrame()
        self.central_widget.setObjectName("central_widget")
        self.central_layout = QtWidgets.QVBoxLayout(self.central_widget)
        self.central_layout.setSpacing(0)
        self.central_layout.setContentsMargins(0, 0, 0, 0)

        # tail widget
        self.tail_widget = QtWidgets.QFrame()
        self.tail_widget.setHidden(True)
        self.tail_widget.setMinimumHeight(40)
        self.tail_widget.setMaximumHeight(60)
        self.tail_widget.setObjectName("tail_widget")
        self.tail_layout = QtWidgets.QHBoxLayout(self.tail_widget)
        self.tail_layout.setSpacing(0)
        self.tail_layout.setContentsMargins(0, 0, 0, 0)

        self.layout.addWidget(self.title_widget)
        self.layout.addWidget(self.central_widget)
        self.layout.addWidget(self.tail_widget)
Beispiel #23
0
    def _base_build(self):
        self.resize(1200, 600)
        self.widget = QtWidgets.QFrame()
        #self.widget.setObjectName("window_frame")
        self.widget.setMouseTracking(True)
        self.widget.installEventFilter(self)
        self.layout = QtWidgets.QVBoxLayout(self.widget)
        self.layout.setSpacing(0)
        self.layout.setContentsMargins(0, 0, 0, 0)
        self.setCentralWidget(self.widget)

        # title widget
        self.title_widget = QtWidgets.QFrame()
        self.title_widget.setObjectName("window_menu_frame")
        self.title_widget.setMinimumHeight(50)
        self.title_widget.setMaximumHeight(50)
        self.title_layout = QtWidgets.QHBoxLayout(self.title_widget)
        self.title_layout.setSpacing(0)
        self.title_layout.setContentsMargins(15, 0, 15, 0)
        #  name frame
        self.name_widget = QtWidgets.QWidget()
        self.title_layout.addWidget(self.name_widget)
        self.name_layout = QtWidgets.QHBoxLayout(self.name_widget)
        self.name_layout.setContentsMargins(0, 0, 0, 0)
        self.name_button = QtWidgets.QPushButton()
        self.name_button.setObjectName("window_title_button")
        self.name_button.setFlat(True)
        self.name_button.setIcon(
            QtGui.QIcon(resource.get("icons", "z_title.png")))
        self.name_layout.addWidget(self.name_button)
        # title label
        self.title_label = QtWidgets.QPushButton()
        self.title_label.setFlat(True)
        # self.title_label.setObjectName("title_button")
        self.title_label.setMaximumHeight(30)
        self.title_label.setText("Title")
        self.title_label.setFlat(True)
        self.title_label.setObjectName("window_title_button")
        self.title_layout.addWidget(self.title_label)
        self.title_layout.addStretch(True)
        # close frame
        self.close_widegt = QtWidgets.QWidget()
        self.title_layout.addWidget(self.close_widegt)
        self.close_layout = QtWidgets.QHBoxLayout(self.close_widegt)
        self.close_layout.setContentsMargins(0, 0, 0, 0)
        self.close_layout.setSpacing(18)

        self.video_button = button.Button()
        self.video_button.hide()
        self.video_button.setText(r"视频讲解")
        self.video_button.setFixedHeight(24)
        self.video_button.setIcon(
            QtGui.QIcon(resource.get("icons", "media.png")))
        self.video_button.setStyleSheet(
            "QPushButton{background-color:transparent;}")
        self.close_layout.addWidget(self.video_button)

        self.close_button = _Button(self.close_widegt,
                                    resource.get("icons", "close.png"),
                                    resource.get("icons", "close_hover.png"),
                                    resource.get("icons", "close_hover.png"))
        self.close_button.setFlat(True)
        self.close_button.setFixedSize(20, 20)
        self.close_layout.addWidget(self.close_button)

        # central widget
        self.central_widget = QtWidgets.QFrame()
        # self.central_widget.setObjectName("central_widget")
        self.central_layout = QtWidgets.QVBoxLayout(self.central_widget)
        self.central_layout.setSpacing(0)
        self.central_layout.setContentsMargins(0, 0, 0, 0)

        # tail widget
        self.tail_widget = QtWidgets.QFrame()
        self.tail_widget.setHidden(True)
        self.tail_widget.setMinimumHeight(40)
        self.tail_widget.setMaximumHeight(60)
        # self.tail_widget.setObjectName("tail_widget")
        self.tail_layout = QtWidgets.QHBoxLayout(self.tail_widget)
        self.tail_layout.setSpacing(0)
        self.tail_layout.setContentsMargins(0, 0, 0, 0)

        self.layout.addWidget(self.title_widget)
        self.layout.addWidget(self.central_widget)
        self.layout.addWidget(self.tail_widget)

        #_qss = resource.get("qss", "./window.qss")
        _qss = "{}/window.qss".format(os.path.dirname(__file__))
        with open(_qss) as f:
            qss = f.read()
            self.setStyleSheet(qss)
Beispiel #24
0
    def __build(self):
        """ build base dialog

        """
        self.resize(400, 600)

        self.setWindowTitle("zFused Dialog")
        __layout = QtWidgets.QVBoxLayout(self)
        __layout.setSpacing(0)
        __layout.setContentsMargins(1, 1, 1, 1)

        # head title widget
        self.__head_widget = QtWidgets.QFrame()
        __layout.addWidget(self.__head_widget)
        self.__head_widget.setObjectName("window_menu_frame")
        self.__head_widget.setMaximumHeight(50)
        self.__head_layout = QtWidgets.QHBoxLayout(self.__head_widget)
        #  title label
        self.__title_button = QtWidgets.QPushButton()
        self.__title_button.setObjectName("window_title_button")
        # self.setAttribute(QtCore.Qt.WA_TransparentForMouseEvents, True)
        self.__head_layout.addWidget(self.__title_button)
        self.__head_layout.addStretch(True)
        #  pin button
        self.__pin_button = QtWidgets.QPushButton(self)
        self.__pin_button.setIcon(QtGui.QIcon(resource.get("icons",
                                                           "pin.png")))
        self.__head_layout.addWidget(self.__pin_button)
        #  close button
        self.__close_button = button.IconButton(
            self, resource.get("icons", "close.png"),
            resource.get("icons", "close_hover.png"),
            resource.get("icons", "close.png"))
        self.__close_button.setMaximumSize(20, 20)
        self.__head_layout.addWidget(self.__close_button)

        # set progress bar
        self.__progress_bar = QtWidgets.QProgressBar()
        self.__progress_bar.setMaximumHeight(3)
        self.__progress_bar.setHidden(True)
        __layout.addWidget(self.__progress_bar)

        # content widget
        #
        self.__content_widget = QtWidgets.QFrame()
        __layout.addWidget(self.__content_widget)
        self.__content_widget.setObjectName("attr_frame")
        self.__content_layout = QtWidgets.QVBoxLayout(self.__content_widget)
        self.__content_layout.setSpacing(0)
        self.__content_layout.setContentsMargins(0, 0, 0, 0)

        # opeartion widget
        #
        self.__opeartion_widget = QtWidgets.QFrame()
        __layout.addWidget(self.__opeartion_widget)
        self.__opeartion_widget.setObjectName("operation_frame")
        self.__opeartion_widget.setMaximumHeight(50)
        self.__opeartion_layout = QtWidgets.QHBoxLayout(
            self.__opeartion_widget)
        self.__opeartion_layout.setSpacing(4)
        self.__opeartion_layout.setContentsMargins(2, 4, 2, 4)
        #  add tips label
        #  tips label
        self.__tip_label = QtWidgets.QLabel()
        self.__tip_label.setObjectName("tip_label")
        self.__opeartion_layout.addWidget(self.__tip_label)
        self.__opeartion_layout.addStretch(True)
        #  cancel button
        self.__cancel_button = QtWidgets.QPushButton()
        self.__cancel_button.setObjectName("cancel_button")
        self.__cancel_button.setText(language.word("cancel"))
        self.__cancel_button.setMinimumSize(100, 36)
        self.__opeartion_layout.addWidget(self.__cancel_button)
        #  create button
        self.__create_button = QtWidgets.QPushButton()
        self.__create_button.setObjectName("create_button")
        self.__create_button.setText(language.word("confirm"))
        self.__create_button.setMinimumSize(100, 36)
        self.__opeartion_layout.addWidget(self.__create_button)

        # top left edge frame
        self.top_left_edge_frame = edge_frame(self, "top_left")
        # top rght edge frame
        self.top_right_edge_frame = edge_frame(self, "top_right")
        # top edge frame
        self.top_edge_frame = edge_frame(self, "top")
        # left edge frame
        self.left_edge_frame = edge_frame(self, "left")
        # right edge frame
        self.right_edge_frame = edge_frame(self, "right")
        # bottom edge frame
        self.bottom_edge_frame = edge_frame(self, "bottom")
        # bottom left edge frame
        self.bottom_left_edge_frame = edge_frame(self, "bottom_left")
        # bottom right edge frame
        self.bottom_right_edge_frame = edge_frame(self, "bottom_right")
        _edges = [
            self.top_left_edge_frame, self.top_right_edge_frame,
            self.top_edge_frame, self.left_edge_frame, self.right_edge_frame,
            self.bottom_edge_frame, self.bottom_left_edge_frame,
            self.bottom_right_edge_frame
        ]
        for _edge in _edges:
            _edge.setStyleSheet("QFrame{background-color: transparent}")
    def _build(self):
        self.resize(800,600)
        self.set_title_name(u"着色引擎颜色(shading engine color)")
        #_layout = QtWidgets.QVBoxLayout(self)

        self.splitter = QtWidgets.QSplitter()

        self.list_widget = QtWidgets.QFrame(self.splitter)
        self.list_layout = QtWidgets.QVBoxLayout(self.list_widget)
        # head widget
        self.head_widget = QtWidgets.QFrame()
        self.head_layout = QtWidgets.QHBoxLayout(self.head_widget)
        self.head_layout.setSpacing(4)
        self.head_layout.setContentsMargins(0,0,0,0)
        self.head_name_button = QtWidgets.QPushButton()
        self.head_name_button.setText(u"着色引擎列表")
        self.head_name_button.setIcon(QtGui.QIcon(resource.get("icons", "list.png")))
        self.refresh_button = QtWidgets.QPushButton()
        self.refresh_button.setMaximumWidth(100)
        self.refresh_button.setText(u"刷新")
        self.refresh_button.setIcon(QtGui.QIcon(resource.get("icons", "refresh.png")))
        self.head_layout.addWidget(self.head_name_button)
        self.head_layout.addWidget(self.refresh_button)
        # content widget
        self.engine_list_widget = QtWidgets.QFrame()
        self.engine_list_layout = QtWidgets.QHBoxLayout(self.engine_list_widget)
        self.engine_list_layout.setSpacing(0)
        self.engine_list_layout.setContentsMargins(0,0,0,0)
        #  engine listwidget
        self.engine_listwidget = QtWidgets.QListWidget()
        self.engine_listwidget.setMouseTracking(True)
        self.engine_list_layout.addWidget(self.engine_listwidget)
        self.engine_listwidget.setSpacing(2)
        self.engine_listwidget.setItemDelegate(engineitemdelegate.EngineItemDelegate(self.engine_listwidget))
        self.engine_listwidget.setResizeMode(QtWidgets.QListView.Adjust)
        self.engine_listwidget.setSelectionMode(QtWidgets.QListWidget.ExtendedSelection)
        self.engine_listwidget.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
        self.engine_listwidget.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.list_layout.addWidget(self.head_widget)
        self.list_layout.addWidget(self.engine_list_widget)

        # content widget
        self.content_widget = QtWidgets.QFrame(self.splitter)
        self.content_layout = QtWidgets.QVBoxLayout(self.content_widget)
        #  name widget
        self.content_name_widget = QtWidgets.QFrame()
        self.content_name_layout = QtWidgets.QHBoxLayout(self.content_name_widget)
        self.content_name_layout.setSpacing(4)
        self.content_name_layout.setContentsMargins(0,0,0,0)
        self.content_name_button = QtWidgets.QPushButton()
        self.color_button = QtWidgets.QPushButton()
        self.color_button.setText(u"提取颜色")
        self.color_button.setMaximumWidth(100)
        self.content_name_layout.addWidget(self.content_name_button)
        self.content_name_layout.addWidget(self.color_button)
        #  color palette widget
        self.content_color_widget = QtWidgets.QFrame()
        self.content_color_widget.setMinimumHeight(40)
        self.content_color_layout = QtWidgets.QHBoxLayout(self.content_color_widget)
        self.content_color_layout.setSpacing(0)
        self.content_color_layout.setContentsMargins(0,0,0,0)
        self.color_label = QtWidgets.QLabel()
        self.color_label.setStyleSheet("QLabel{background-color:#9D9D9D}")
        self.content_color_layout.addWidget(self.color_label)
        #  material object
        self.object_listwidget = QtWidgets.QListWidget()
        self.object_listwidget.setSelectionMode(QtWidgets.QListWidget.ExtendedSelection)
        self.object_listwidget.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
        self.object_listwidget.setFrameShape(QtWidgets.QFrame.NoFrame)
        
        self.content_layout.addWidget(self.content_color_widget)
        self.content_layout.addWidget(self.content_name_widget)
        self.content_layout.addWidget(self.object_listwidget)

        # switch engine 
        self.switch_engine_widget = QtWidgets.QWidget()
        self.switch_engine_layout = QtWidgets.QHBoxLayout(self.switch_engine_widget)
        self.switch_engine_layout.setSpacing(4)
        self.switch_engine_layout.setContentsMargins(4,0,4,0)
        #  orignail engine
        self.orignail_engine_button = QtWidgets.QPushButton()
        self.orignail_engine_button.setFixedSize(100, 30)
        self.orignail_engine_button.setText(u"还原自身材质球")
        #  color engine
        self.color_engine_button = QtWidgets.QPushButton()
        self.color_engine_button.setFixedSize(100, 30)
        self.color_engine_button.setText(u"显示纯色材质球")
        self.switch_engine_layout.addStretch(True)
        self.switch_engine_layout.addWidget(self.orignail_engine_button)
        self.switch_engine_layout.addWidget(self.color_engine_button)

        self.set_central_widget(self.splitter)
        self.set_tail_widget(self.switch_engine_widget)
    def paint(self, painter, option, index):
        _engine_name = index.data()

        painter.save()
        painter.setRenderHint(QtGui.QPainter.Antialiasing, True)
        
        _rect = option.rect
        _pen = QtGui.QPen(QtGui.QColor("#FFFFFF"), 0.1)
        painter.setPen(_pen)
        painter.setBrush(QtGui.QColor("#444444"))
        painter.drawRoundedRect(option.rect, 0, 0)
        #fm = QtGui.QFontMetrics(painter.font())
        # 获取引擎颜色值
        _color = shadingcolorproc.get_node_shading_color(_engine_name)
        _icon = resource.get("icons","okay.png")
        if not _color:
            # 判断color值或图片
            """
            _color = shadingcolorproc.get_connect_color(_engine_name)
            if _color:
                shadingcolorproc.set_node_shading_color(_engine_name, _color)
            else:
            """
            _color = "#444444"
            _icon = resource.get("icons","waring.png")
        # 绘制是否存在
        _icon_rect = QtCore.QRect(_rect.x(),
                                   _rect.y(),
                                   _rect.height(),
                                   _rect.height())
        painter.drawPixmap(_icon_rect.x(), _icon_rect.y(), QtGui.QPixmap(_icon).scaled(24, 24))
        # 绘制引擎颜色图标
        _color_rect = QtCore.QRect(_icon_rect.x() + _icon_rect.width() + self._spacing,
                                   _icon_rect.y() + self._spacing/2.0,
                                   _rect.height() - self._spacing,
                                   _rect.height() - self._spacing)
        painter.setBrush(QtGui.QBrush(QtGui.QColor(_color)))
        painter.drawEllipse(_color_rect)

        # 绘制着色引擎名称
        _name_rect = QtCore.QRect(_color_rect.x() + _rect.height() + self._spacing,
                                  _rect.y(),
                                  _rect.width() - _color_rect.width(),
                                  _rect.height())
        painter.drawText(_name_rect, QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter, _engine_name)

        # 绘制是否存在颜色


        if option.state & QtWidgets.QStyle.State_Selected:
            bgBrush = QtGui.QBrush(QtGui.QColor(149, 194, 197, 150))
            bgPen = QtGui.QPen(QtGui.QColor(160, 60, 60, 0), 0)
            painter.setPen(bgPen)
            painter.setBrush(bgBrush)
            painter.drawRect(option.rect)
        elif option.state & QtWidgets.QStyle.State_MouseOver:
            bgBrush = QtGui.QBrush(QtGui.QColor(200, 200, 200, 20))
            bgPen = QtGui.QPen(QtGui.QColor(60, 60, 60, 0), 0)
            painter.setPen(bgPen)
            painter.setBrush(bgBrush)
            painter.drawRect(option.rect)
        else:
            bgBrush = QtGui.QBrush(QtGui.QColor(200, 200, 200, 0))
            bgPen = QtGui.QPen(QtGui.QColor(160, 60, 60, 0), 0)
            painter.setPen(bgPen)
            painter.setBrush(bgBrush)
            painter.drawRect(option.rect)        
        painter.restore()
Beispiel #27
0
class SearchLineEdit(QtWidgets.QLineEdit):
    search_clicked = QtCore.Signal(str)
    close_pixmap = QtGui.QPixmap(resource.get("icons", "search.png")).scaled(20, 20, QtCore.Qt.IgnoreAspectRatio, QtCore.Qt.SmoothTransformation)
    close_pixmap_hover = QtGui.QPixmap(resource.get("icons", "search_hover.png")).scaled(20, 20, QtCore.Qt.IgnoreAspectRatio, QtCore.Qt.SmoothTransformation)
    close_pixmap_pressed = QtGui.QPixmap(resource.get("icons", "search_pressed.png")).scaled(20, 20, QtCore.Qt.IgnoreAspectRatio, QtCore.Qt.SmoothTransformation)
    def __init__(self, parent = None):
        super(SearchLineEdit, self).__init__(parent)
        # self.setStyleSheet("QLineEdit{font-family:Microsoft YaHei UI;font: bold 12px;color:#3A3A3A;background-color:#D1D1D7}"
        #                    "QLineEdit{border:0px dotted; border-color:#343D46;padding-left: 20px}")
        self.setStyleSheet("QLineEdit{font-family:Microsoft YaHei UI;font: bold 12px;color:#DFDFDF;background-color:#5D5D5D}"
                           "QLineEdit{border:0px dotted; border-color:#343D46;padding-left: 20px}")
        self._tip = u"关键字搜索,摁enter搜索"
        self._is_inputmethod = False
        self._is_close = False
        self._is_search = False

        self.installEventFilter(self)
        self.setMouseTracking(True)

    def eventFilter(self, obj, event):
        if QtCore.QEvent.KeyPress == event.type():
            self._is_inputmethod = False
        elif QtCore.QEvent.InputMethod == event.type():
            self._is_inputmethod = True
        return super(SearchLineEdit, self).eventFilter(obj, event)

    def tip(self):
        return self._tip()

    def set_tip(self, tip):
        self._tip = tip

    def leaveEvent(self, event):
        self._is_search = False
        self.update()

    def mouseMoveEvent(self, event):
        _pos = event.pos()
        _rect = self.rect()

        _search_rect = QtCore.QRectF( _rect.x(),
                                     _rect.y(),
                                     20,
                                     _rect.height() )
        if _search_rect.contains(_pos):
            self.setCursor(QtCore.Qt.PointingHandCursor)
            self._is_search = True
        else:
            self.setCursor(QtCore.Qt.IBeamCursor)
            self._is_search = False

            if self.text():
                _close_rect = QtCore.QRectF( _rect.x() + _rect.width() - 25,
                                            _rect.y(),
                                            25,
                                            _rect.height())
                if _close_rect.contains(_pos):
                    self.setCursor(QtCore.Qt.PointingHandCursor)
                    self._is_close = True
                else:
                    self.setCursor(QtCore.Qt.IBeamCursor)
                    self._is_close = False
            else:
                self.setCursor(QtCore.Qt.IBeamCursor)
                self._is_close = False
        self.update()
        super(SearchLineEdit, self).mouseMoveEvent(event)

    def keyPressEvent(self, event):
        """ 回车键和确认键
        """
        if event.key() == QtCore.Qt.Key_Return or event.key() == QtCore.Qt.Key_Enter :
            self.search_clicked.emit(self.text())
        super(SearchLineEdit, self).keyPressEvent(event)


    def mouseReleaseEvent(self, event):
        """
        """
        if self._is_close:
            self.clear()
            self.setCursor(QtCore.Qt.IBeamCursor)
            self._is_inputmethod = False
            self.search_clicked.emit(self.text())
        if self._is_search:
            self.search_clicked.emit(self.text())
        # self.update()

    def paintEvent(self, event):
        super(SearchLineEdit, self).paintEvent(event)
        _rect = self.rect()
        _painter = QtGui.QPainter(self)
        _painter.save()
        _painter.setRenderHint(QtGui.QPainter.Antialiasing, True)
        _painter.setPen(QtGui.QColor("#A5A5A5"))
        if self._is_search:
            _painter.drawPixmap(_rect.x() , _rect.y() + (_rect.height() - 20)/2, self.close_pixmap_hover )
        else:
            _painter.drawPixmap(_rect.x() , _rect.y() + (_rect.height() - 20)/2, self.close_pixmap )
        if not self.text() and not self._is_inputmethod:
            _painter.drawText(QtCore.QRectF(_rect.x() + 20, _rect.y(), _rect.width() - 5,
                                           _rect.height()), QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter, self._tip)

        else:
            if self.text():
                if self._is_close:
                    _painter.setPen("#FF0000")
                else:
                    _painter.setPen("#343D46")
                _painter.drawText(QtCore.QRectF(_rect.x() + 5, _rect.y(), _rect.width() - 5,
                                           _rect.height()), QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter, " X ")
        _painter.restore()
import logging
import threading

from Qt import QtWidgets, QtGui, QtCore

import zfused_api

from zcore import cache, color, resource

from . import constants

__all__ = ["ItemDelegate"]

logger = logging.getLogger(__name__)

_star_bright_pixmap = QtGui.QPixmap(resource.get("icons", "star.png"))


class ItemDelegate(QtWidgets.QStyledItemDelegate):
    def __init__(self, parent=None):
        super(ItemDelegate, self).__init__(parent)
        self._spacing = 4
        self._file_pixmap = QtGui.QPixmap(
            resource.get("icons", "file_hover.png"))
        self._file_pixmap = self._file_pixmap.scaled(
            20, 20, QtCore.Qt.KeepAspectRatio, QtCore.Qt.SmoothTransformation)

    def _update(self, index):
        self.parent().update(index)

    def paint(self, painter, option, index):
    def _build(self):
        self.resize(160, 200)
        #self.setMaximumWidth(300)
        _layout = QtWidgets.QVBoxLayout(self)
        _layout.setSpacing(2)
        _layout.setContentsMargins(0, 0, 0, 0)

        # project step widget
        self.step_widget = QtWidgets.QFrame()
        self.step_widget.setMinimumHeight(25)
        self.step_layout = QtWidgets.QVBoxLayout(self.step_widget)
        self.step_layout.setSpacing(0)
        self.step_layout.setContentsMargins(0, 0, 0, 0)
        # name button
        self.step_button = QtWidgets.QPushButton()
        self.step_button.setText(u"项目步骤")
        self.step_button.setIcon(QtGui.QIcon(resource.get("icons",
                                                          "step.png")))
        self.step_button.setObjectName("title_button")
        self.step_layout.addWidget(self.step_button)

        # version widget
        self.version_widget = QtWidgets.QFrame()
        self.version_widget.setMinimumHeight(25)
        self.version_layout = QtWidgets.QHBoxLayout(self.version_widget)
        self.version_layout.setSpacing(20)
        self.version_layout.setContentsMargins(20, 0, 20, 0)
        #  version name button
        self.version_name_button = QtWidgets.QPushButton()
        self.version_name_button.setText(u"版本")
        #  version combobox
        self.version_combobox = QtWidgets.QComboBox()
        self.version_layout.addWidget(self.version_combobox)
        self.version_layout.addStretch(True)

        # listwidget
        self.version_listwidget = versionlistwidget.listwidget.ListWidget()

        # description widget
        self.description_textedit = QtWidgets.QTextEdit()
        self.description_textedit.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.description_textedit.setEnabled(False)
        self.description_textedit.setMaximumHeight(40)
        self.description_textedit.setPlaceholderText("version description")

        # operation widget
        #
        self.operation_widget = QtWidgets.QFrame()
        self.operation_widget.setObjectName("operation_widget")
        self.operation_widget.setMinimumHeight(30)
        self.operation_layout = QtWidgets.QHBoxLayout(self.operation_widget)
        self.operation_layout.setContentsMargins(0, 0, 0, 0)
        # file name
        self.file_name_label = QtWidgets.QLabel()
        self.operation_layout.addWidget(self.file_name_label)
        self.operation_layout.addStretch(True)
        # reference file
        self.reference_button = QtWidgets.QPushButton()
        self.reference_button.setObjectName("reference_button")
        self.reference_button.setFixedSize(100, 30)
        self.reference_button.setText(u"参考文件")
        self.operation_layout.addWidget(self.reference_button)
        # import gpu

        # _layout.addWidget(self.thumbnail_widget)
        _layout.addWidget(self.step_widget)
        # _layout.addWidget(self.version_widget)
        # _layout.addStretch(True)
        _layout.addWidget(self.version_listwidget)
        _layout.addWidget(self.description_textedit)
        _layout.addWidget(self.operation_widget)