예제 #1
0
 def fairyInfoShow(self,fairyID):
     # 在界面中显示精灵信息
     fairy = fairy_tab_console.get_fairy_info(fairyID)
     self.FairyFileNamelabel.setText(fairyID)
     self.FairyFolderNamelabel.setText(fairy.name+"\t"+fairy.fairySetXMLLocation)
     if(fairy.author is not None):
         self.FairyAuthorLabel.setText("作者: "+fairy.author)
     if(fairy.version is not None):
         self.FairyVersionLabel.setText("版本: "+fairy.version)
     if(fairy.license is not None):
         self.FairyLicenseLabel.setText("许可: "+fairy.license)
     if(fairy.fairyINFO is not None):
         self.FairyInfomationLabel.setText("信息: "+fairy.fairyINFO)
     
     
     # 状态内容
     from model.TinyPNG import is_id_had_compressed
     #tinyPNG
     if(is_id_had_compressed(fairyID)):
         self.tinypng_buff_label.setIcon(fairy_tab_console.get_icon("buff_box"))
         self.tinypng_buff_label.setCheckable(False)
     else:
         self.tinypng_buff_label.setIcon(fairy_tab_console.get_icon("buff_box_black"))
         self.tinypng_buff_label.setCheckable(True)
         
     # 关于动画信息的内容
     self.animation_register_combobox.clear()
     self.animation_logic_combobox.clear()
     self.animation_resource_combobox.clear()
     
     general_info = fairy_tab_console.get_general_animation_info(fairyID)
     if(general_info is not None):
         self.animation_register_combobox.addItem("一共 "+str(len(general_info.get("注册信息")))+" 条动画信息")
         for register_id in general_info.get("注册信息"):
             self.animation_register_combobox.addItem(register_id)
             
         self.animation_logic_combobox.addItem("一共 "+str(len(general_info.get("逻辑信息")))+" 条逻辑信息")
         for logic_id in general_info.get("逻辑信息"):
             self.animation_logic_combobox.addItem(logic_id)
             
         self.animation_resource_combobox.addItem("一共 "+str(len(general_info.get("资源信息")))+" 条资源信息")
         for resource_id in general_info.get("资源信息"):
             self.animation_resource_combobox.addItem(resource_id)
     
     from controller.viewConsole import is_fairy_frame_active
     if(is_fairy_frame_active(fairyID)):  # 已激活精灵的页面
         self.uninstallCutieButton.setText("卸载")
         self.uninstallCutieButton.setEnabled(True)
         self.reflashOneButton.setEnabled(True)
         self.EditFairyPushButton.setEnabled(True)   
     else:  # 未激活精灵的页面
         self.uninstallCutieButton.setText("加载")
         self.uninstallCutieButton.setEnabled(True)
         self.reflashOneButton.setEnabled(False)
         self.EditFairyPushButton.setEnabled(True)
예제 #2
0
 def defaultUi(self):
     self.FairyFileNamelabel.setText("...")
     self.FairyFolderNamelabel.setText("")
     self.FairyAuthorLabel.setText("作者:")
     self.FairyInfomationLabel.setText("信息:")
     self.FairyLicenseLabel.setText("许可:")
     self.FairyVersionLabel.setText("版本:")
     self.uninstallCutieButton.setDisabled(True)
     self.reflashOneButton.setDisabled(True)
     self.EditFairyPushButton.setDisabled(True)
     
     self.tinypng_buff_label.setIcon(fairy_tab_console.get_icon("buff_box_black"))
     self.tinypng_buff_label.setCheckable(False)
예제 #3
0
 def click_tinypng_buffer(self):
     '''
     点击tinyPNG buff图标
     '''
     print("使用tinyPNG压缩所有资源图片")
     fairy_id = self.FairyFileNamelabel.text()
     if(fairy_id == "..."):
         return
     
     reply = QMessageBox.information(self, "TinyPNG压缩图片询问", "是否需要使用TinyPNG压缩精灵资源中所有的图片?\n(此操作用时较多,会造成程序卡住很久很久1张图大概4s时间处理,操作完毕后能永久大大减少图片大小,不会对损坏图片质量,重复压缩无效)", QMessageBox.Yes|QMessageBox.No, QMessageBox.Yes)
     if(reply == QMessageBox.No):
         return
     #!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     # 有待优化
     #!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
     
     # 获取所有图片资源的的位置list
     all_picture_list = []
     
     from infoTool.load_Fairy_From_XML_File import get_FairyInfo 
     import xml.etree.cElementTree as ET
     from infoTool.load_Project_Location import get_TheCuiteFolderLocation
     xml_add = get_FairyInfo(fairy_id).resourceLocation
     tree = ET.parse(xml_add) 
     root = tree.getroot()   # 获取根节点
     
     for resource_set in root.find("动作资源"):
         resource_set_location = get_TheCuiteFolderLocation(fairy_id) + resource_set.attrib.get("资源地址")
         for picture_node in resource_set:
             picture_file_name = picture_node.get("图像")
             picture_location = resource_set_location+picture_file_name # 计算资源路径
             all_picture_list.append(picture_location)
     
     from model import TinyPNG
     TinyPNG.compressing_image_overwirte_source_file_list(all_picture_list)
     TinyPNG.add_compressed_id(fairy_id)
     self.tinypng_buff_label.setIcon(fairy_tab_console.get_icon("buff_box"))
예제 #4
0
    def show_fairy_data_in_treewidget(self, reScan=False):
        #读取精灵信息显示在treeWidget中
        folderIcon = fairy_tab_console.get_icon("folder")
        fairyDict = fairy_tab_console.get_fairy_dict(reScan)
        
#         print(fairyDict)
        self.treeWidget.clear()
#         print("clear")
#         print(list(fairyDict.keys()))
        
        fairy_id_list = list(fairyDict.keys())
        for fairyID in fairy_id_list:
            fairy = fairy_tab_console.get_fairy_info(fairyID)
            
            child = QTreeWidgetItem(self.treeWidget)
            child.setIcon(0, folderIcon)
            
            if(fairy is None):
                child.setText(0, fairyID+"\t这似乎不是注册文件")
                continue
            
            child.setText(0, fairy.id)
            fairyXML = QTreeWidgetItem(child)
            fairyXML.setText(0,fairy.name)
예제 #5
0
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(638, 461)
        Form.setObjectName("FairyTab")

        # 精灵选项卡-精灵选项卡布局
        self.fairyTabGridLayout = QtWidgets.QGridLayout(Form)
        self.fairyTabGridLayout.setObjectName("fairyTabGridLayout")
        # 精灵选项卡-精灵选项卡布局-左边的布局
        self.fairyTab_LeftGridLayout = QtWidgets.QGridLayout()
        self.fairyTab_LeftGridLayout.setObjectName("fairyTab_LeftGridLayout")
        # 精灵选项卡-精灵选项卡布局-左边的布局-激活的精灵下拉选框
        self.ActiveFairyComboBox = QtWidgets.QComboBox()
        self.ActiveFairyComboBox.setFrame(True)
        self.ActiveFairyComboBox.setModelColumn(0)
        self.ActiveFairyComboBox.setObjectName("ActiveFairyComboBox")
        self.ActiveFairyComboBox.addItem("已激活的精灵")
        self.fairyTab_LeftGridLayout.addWidget(self.ActiveFairyComboBox, 0, 0,
                                               1, 1)
        # 精灵选项卡-精灵选项卡布局-左边的布局-添加精灵按钮
        self.addFairyButton = QtWidgets.QPushButton()
        self.addFairyButton.setObjectName("addFairyButton")
        self.fairyTab_LeftGridLayout.addWidget(self.addFairyButton, 0, 1, 1, 1)
        # 精灵选项卡-精灵选项卡布局-左边的布局-用来显示各个资源文件夹的树形控件
        self.treeWidget = QtWidgets.QTreeWidget()
        self.treeWidget.setObjectName("treeWidget")
        self.treeWidget.headerItem().setText(0, "1")
        self.treeWidget.header().setVisible(False)
        self.fairyTab_LeftGridLayout.addWidget(self.treeWidget, 1, 0, 1, 2)
        # 精灵选项卡-精灵选项卡布局-左边的布局
        self.fairyTab_LeftGridLayout.setColumnStretch(0, 6)
        self.fairyTab_LeftGridLayout.setColumnStretch(1, 2)
        self.fairyTabGridLayout.addLayout(self.fairyTab_LeftGridLayout, 0, 0,
                                          3, 1)

        # 精灵选项卡-精灵选项卡布局-右边第一层布局
        self.fairyTab_RightFloor1GridLayout = QtWidgets.QGridLayout()
        self.fairyTab_RightFloor1GridLayout.setObjectName(
            "fairyTab_RightFloor1GridLayout")
        # 精灵选项卡-精灵选项卡布局-右边第一层布局-精灵文件名标签
        self.FairyFileNamelabel = QtWidgets.QLabel()
        self.FairyFileNamelabel.setObjectName("FairyFileNamelabel")
        self.FairyFileNamelabel.setFont(QFont("微软雅黑", 12, QFont.Bold))
        self.fairyTab_RightFloor1GridLayout.addWidget(self.FairyFileNamelabel,
                                                      0, 0, 1, 5)
        # 精灵选项卡-精灵选项卡布局-右边第一层布局-精灵文件夹名标签
        self.FairyFolderNamelabel = QtWidgets.QLabel()
        self.FairyFolderNamelabel.setObjectName("FairyFolderNamelabel")
        self.fairyTab_RightFloor1GridLayout.addWidget(
            self.FairyFolderNamelabel, 1, 0, 1, 7)
        # 精灵选项卡-精灵选项卡布局-右边第一层布局-卸载按钮
        self.uninstallCutieButton = QtWidgets.QPushButton()
        self.uninstallCutieButton.setObjectName("uninstallCutieButton")
        self.fairyTab_RightFloor1GridLayout.addWidget(
            self.uninstallCutieButton, 0, 4, 1, 1)
        # 精灵选项卡-精灵选项卡布局-右边第一层布局-刷新按钮
        self.reflashOneButton = QtWidgets.QPushButton()
        self.reflashOneButton.setObjectName("reflashOneButton")
        self.fairyTab_RightFloor1GridLayout.addWidget(self.reflashOneButton, 0,
                                                      5, 1, 1)
        # 精灵选项卡-精灵选项卡布局-右边第一层布局-编辑按钮
        self.EditFairyPushButton = QtWidgets.QPushButton()
        self.EditFairyPushButton.setObjectName("EditFairyPushButton")
        self.fairyTab_RightFloor1GridLayout.addWidget(self.EditFairyPushButton,
                                                      0, 6, 1, 1)
        # 精灵选项卡-精灵选项卡布局-右边第一层布局
        self.fairyTabGridLayout.addLayout(self.fairyTab_RightFloor1GridLayout,
                                          0, 1, 1, 1)

        # 精灵选项卡-精灵选项卡布局-右边第二层布局
        self.fairyTab_RightFloor2GridLayout = QtWidgets.QGridLayout()
        self.fairyTab_RightFloor2GridLayout.setObjectName(
            "fairyTab_RightFloor2GridLayout")
        # 精灵选项卡-精灵选项卡布局-右边第二层布局-作者名称标签
        self.FairyAuthorLabel = QtWidgets.QLabel()
        self.FairyAuthorLabel.setObjectName("FairyAuthorLabel")
        self.FairyAuthorLabel.setAlignment(Qt.AlignTop)
        self.fairyTab_RightFloor2GridLayout.addWidget(self.FairyAuthorLabel, 0,
                                                      0, 1, 1)
        # 精灵选项卡-精灵选项卡布局-右边第二层布局-精灵版本标签
        self.FairyVersionLabel = QtWidgets.QLabel()
        self.FairyVersionLabel.setObjectName("FairyVersionLabel")
        self.FairyVersionLabel.setAlignment(Qt.AlignTop)
        self.fairyTab_RightFloor2GridLayout.addWidget(self.FairyVersionLabel,
                                                      1, 0, 1, 1)
        # 精灵选项卡-精灵选项卡布局-右边第二层布局-许可标签
        self.FairyLicenseLabel = QtWidgets.QLabel()
        self.FairyLicenseLabel.setObjectName("FairyLicenseLabel")
        self.FairyLicenseLabel.setAlignment(Qt.AlignTop)
        self.FairyLicenseLabel.setWordWrap(True)
        self.fairyTab_RightFloor2GridLayout.addWidget(self.FairyLicenseLabel,
                                                      2, 0, 1, 1)
        # 精灵选项卡-精灵选项卡布局-右边第二层布局-精灵信息标签
        self.FairyInfomationLabel = QtWidgets.QLabel()
        self.FairyInfomationLabel.setObjectName("FairyInfomationLabel")
        self.FairyInfomationLabel.setAlignment(Qt.AlignTop)
        self.FairyInfomationLabel.setWordWrap(True)
        self.fairyTab_RightFloor2GridLayout.addWidget(
            self.FairyInfomationLabel, 3, 0, 1, 1)
        # 精灵选项卡-精灵选项卡布局-右边第二层布局
        self.fairyTab_RightFloor2GridLayout.setRowStretch(0, 1)
        self.fairyTab_RightFloor2GridLayout.setRowStretch(1, 1)
        self.fairyTab_RightFloor2GridLayout.setRowStretch(2, 1)
        self.fairyTab_RightFloor2GridLayout.setRowStretch(3, 3)
        self.fairyTabGridLayout.addLayout(self.fairyTab_RightFloor2GridLayout,
                                          1, 1, 1, 1)

        # 精灵选项卡-精灵选项卡布局-右边第三层布局
        self.fairyTab_RightFloor3GridLayout = QtWidgets.QGridLayout()
        self.fairyTab_RightFloor3GridLayout.setObjectName(
            "fairyTab_RightFloor3GridLayout")
        # 精灵选项卡-精灵选项卡布局-右边第三层布局-第1行buff第1列
        self.buffer_label = QtWidgets.QLabel()
        self.fairyTab_RightFloor3GridLayout.addWidget(self.buffer_label, 0, 0,
                                                      1, 1)
        # 精灵选项卡-精灵选项卡布局-右边第三层布局-第1行buff第2列—TinyPNG
        self.tinypng_buff_label = QtWidgets.QPushButton()
        #         self.tinypng_buff_label = QtWidgets.QLabel()
        self.tinypng_buff_label.setFixedHeight(25)
        self.tinypng_buff_label.setFixedWidth(25)
        self.tinypng_buff_label.setIcon(get_icon("buff_box_black"))
        self.tinypng_buff_label.setCheckable(False)
        #         self.tinypng_buff_label.setPixmap(get_icon("buff_box").pixmap(25,25))
        self.fairyTab_RightFloor3GridLayout.addWidget(self.tinypng_buff_label,
                                                      0, 1, 1, 1)
        # 精灵选项卡-精灵选项卡布局-右边第三层布局-第1行buff第2列—添加buff按钮
        #         self.add_buff_button = QtWidgets.QPushButton()
        #         self.add_buff_button.setFixedWidth(50)
        #         self.fairyTab_RightFloor3GridLayout.addWidget(self.add_buff_button, 0, 5, 1, 1)
        # 精灵选项卡-精灵选项卡布局-右边第三层布局-第2行第1列—动画注册标签
        self.animation_register_set_label = QtWidgets.QLabel()
        self.animation_register_set_label.setObjectName(
            "animation_registe_set_label")
        self.fairyTab_RightFloor3GridLayout.addWidget(
            self.animation_register_set_label, 1, 0, 1, 1)
        # 精灵选项卡-精灵选项卡布局-右边第三层布局-第2行第2列—动画注册id下拉菜单
        self.animation_register_combobox = QtWidgets.QComboBox()
        self.animation_register_combobox.setObjectName(
            "animation_register_combobox")
        self.fairyTab_RightFloor3GridLayout.addWidget(
            self.animation_register_combobox, 1, 1, 1, 5)
        # 精灵选项卡-精灵选项卡布局-右边第三层布局-第3行第1列—动画逻辑标签
        self.animation_logic_set_label = QtWidgets.QLabel()
        self.animation_logic_set_label.setObjectName(
            "animation_logic_set_label")
        self.fairyTab_RightFloor3GridLayout.addWidget(
            self.animation_logic_set_label, 2, 0, 1, 1)
        # 精灵选项卡-精灵选项卡布局-右边第三层布局-第3行第2列—动画逻辑下拉菜单
        self.animation_logic_combobox = QtWidgets.QComboBox()
        self.animation_logic_combobox.setObjectName("animation_logic_combobox")
        self.fairyTab_RightFloor3GridLayout.addWidget(
            self.animation_logic_combobox, 2, 1, 1, 5)
        # 精灵选项卡-精灵选项卡布局-右边第三层布局-第4行第1列—动画资源标签
        self.animation_resource_label = QtWidgets.QLabel()
        self.animation_resource_label.setObjectName("animation_resource_label")
        self.fairyTab_RightFloor3GridLayout.addWidget(
            self.animation_resource_label, 3, 0, 1, 1)
        # 精灵选项卡-精灵选项卡布局-右边第三层布局-第4行第2列—动画资源id下拉菜单
        self.animation_resource_combobox = QtWidgets.QComboBox()
        self.animation_resource_combobox.setObjectName(
            "animation_resource_combobox")
        self.fairyTab_RightFloor3GridLayout.addWidget(
            self.animation_resource_combobox, 3, 1, 1, 5)

        # 精灵选项卡-精灵选项卡布局-右边第三层布局
        self.fairyTabGridLayout.addLayout(self.fairyTab_RightFloor3GridLayout,
                                          2, 1, 1, 1)

        # 精灵选项卡-精灵选项卡布局
        self.fairyTabGridLayout.setColumnStretch(0, 2)
        self.fairyTabGridLayout.setColumnStretch(1, 3)
        self.fairyTabGridLayout.setRowStretch(0, 1)
        self.fairyTabGridLayout.setRowStretch(1, 3)
        self.fairyTabGridLayout.setRowStretch(2, 3)

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)