• 大小: 3KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-06-05
  • 语言: Python
  • 标签: pyqt5  

资源简介

选择要转换的ui文件和资源文件(qrc)所在的目录,在对应的下拉列表中按下回车键即可自动添加要转换的源文件,选择好输出目录,双击或者点击转换按钮即可完成转换。脚本用python3.6+pyqt5编写,使用时需要安装pyqt5和python3.6。

资源截图

代码片段和文件信息


from PyQt5.QtWidgets import QApplication QWidget QFileDialog\
    QGridLayout QLabel QTableWidget QAbstractItemView QComboBox QPushButton\
    QHeaderView QSizePolicy QMessageBox QTableWidgetItem QMenu
from PyQt5.Qt import QDir QFileInfo QVariant QBrush QColor QDesktopServices\
    QUrl
from PyQt5.QtCore import Qt
import os
import sys

def findFiles(path extension fileList):
    currentDir = QDir(path)
    prefix = path + ‘/‘
    patternList = [extension]
    for match in currentDir.entryList(patternList QDir.Files | QDir.NoSymlinks | QDir.NoDotAndDotDot):
        item = prefix + match
        fileList.add(item)
        
def openFile(fileName):
    QDesktopServices.openUrl(QUrl.fromLocalFile(fileName))

def fileNameOfItem(item):
    return item.data(Qt.UserRole + 1)

def convertUiFileToPy(uiFileName pyFileName outDir):
    cmd = ‘pyuic5 -o {:s}{:s} {:s}‘.format(outDir pyFileName uiFileName) 
    os.system(cmd)

def convertQrcFileToPy(qrcFileName pyFileName outDir):
    cmd = ‘pyrcc5 -o {:s}{:s} {:s}‘.format(outDir pyFileName qrcFileName) 
    os.system(cmd)

class Window(QWidget):
    fileList = set()
    def __init__(self):
        super().__init__()
        self.__initUI()
                
    def __initUI(self):
        mainLayout = QGridLayout()
        self.convertButton = self.__createButton(‘全部转换‘)
        self.convertButton.clicked.connect(self.__convertButtonclicked)
        self.uiBrowseButton = QPushButton(‘ui...‘)
        self.uiBrowseButton.clicked.connect(self.__uiBrowseButtonclicked)
        self.qrcBrowseButton = QPushButton(‘qrc...‘)
        self.qrcBrowseButton.clicked.connect(self.__qrcBrowseButtonclickde)
        self.outBrowseButton = QPushButton(‘py...‘)
        self.outBrowseButton.clicked.connect(self.__outBrowseButtonclicked)
        self.uiDirCombobox = self.__createCombobox(QDir.toNativeSeparators(QDir.currentPath()))
        self.uiDirCombobox.lineEdit().returnPressed.connect(self.__findUiFiles)
        self.qrcDirCombobox = self.__createCombobox(QDir.toNativeSeparators(QDir.currentPath()))
        self.qrcDirCombobox.lineEdit().returnPressed.connect(self.__findQrcFiles)
        self.outputDirCombobox = self.__createCombobox(QDir.toNativeSeparators(QDir.currentPath()))
        self.fileFoundLabel = QLabel()
        
        self.__createFilesTable()
        
        mainLayout.addWidget(self.__createLabel(‘ui目录:‘) 0 0)
        mainLayout.addWidget(self.uiDirCombobox 0 1 1 2)
        mainLayout.addWidget(self.uiBrowseButton 0 3 )
        mainLayout.addWidget(self.__createLabel(‘qrc目录:‘) 1 0)
        mainLayout.addWidget(self.qrcDirCombobox 1 1 1 2)
        mainLayout.addWidget(self.qrcBrowseButton 1 3)
        mainLayout.addWidget(self.__createLabel(‘输出目录:‘) 2 0)
        mainLayout.addWidget(self.outputDirCombobox 2 1 1 2)
        mainLayout.addWidget(self.outBrowseButton 2 3 1 1)
        
        

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        379  2017-10-16 09:12  QtRes2Py\.project

     文件        435  2017-10-16 09:12  QtRes2Py\.pydevproject

     文件       9386  2017-11-08 16:23  QtRes2Py\src\main.py

     目录          0  2017-10-18 16:46  QtRes2Py\.settings

     目录          0  2017-11-08 16:19  QtRes2Py\src

     目录          0  2017-11-08 16:19  QtRes2Py

----------- ---------  ---------- -----  ----

                10200                    6


评论

共有 条评论