• .ui/qrc文件自动生成.py文件


    前天PL让我们做一个从手机里手机一些数据导出到excel文件里的Tool。

    让我们用python去写一个。但是我们都没有学过python。。呵呵!

    然后昨天看了一些文档。做ui时还需要把图片写入qrc中然后再让它生成一个py文件这个表示比较麻烦,

    然后就写了这个脚本。

    非常简单的一个程序。就是有关中文编码处理相关就有点麻烦。

    因为是初学者所以并不知道有什么工具或方法可以处理此问题。

    就随便写了一个。主要是为了学习一下python。

    学语言必须要自己写代码,抄代码也可以,反正必须自己写一遍才能提高能力。

    # -*-coding:UTF-8-*-
    '''
    Created on 2016-8-25
    
    @author: hongguang.jin
    '''
    import sys
    
    from PyQt4 import QtCore, QtGui, Qt
    from PyQt4.Qt import *
    import os,sys
    from PyQt4.QtGui import QFontDialog, QApplication
    from toaiff import toaiff
    from encodings.idna import ToASCII
    
    QTextCodec.setCodecForTr(QTextCodec.codecForName("utf8"))  
    
    comms= {}  
    class StandardDialog(QDialog):  
        
        def __init__(self,parent=None):  
            super(StandardDialog,self).__init__(parent)  
            self.setWindowTitle("Standard Dialog")  
            reload(sys)  
            sys.setdefaultencoding('utf8') 
     
            uiFileButton=QPushButton(self.tr("选择.ui文件"))  
            self.uiFileLineEdit=QLineEdit()  
            uiToPyPushButton=QPushButton(self.tr("ui转为py")) 
            
            layout=QGridLayout()  
            layout.addWidget(uiFileButton,0,0)  
            layout.addWidget(self.uiFileLineEdit,0,1)  
            layout.addWidget(uiToPyPushButton,0,2)
            
            self.setLayout(layout)  
            self.connect(uiFileButton,SIGNAL("clicked()"),self.openFile)  
            self.connect(uiToPyPushButton,SIGNAL("clicked()"),self.transFile)  
      
        def openFile(self):  
            s=QFileDialog.getOpenFileName(self,"Open file dialog","/","Files(*.ui)")
            path = str(s).encode('utf8')
            self.uiFileLineEdit.setText(path.decode('utf8')) 
            comms['name'] =  path.decode('utf8').split("/")[-1].split(".")[0]
            comms['cd'] = "cd " + path.decode('utf8').split(comms['name']+'.ui')[0]
            comms['root'] = path.decode('utf8').split("/")[0]
            comms['command'] = "Qpyuic4 " + comms['name'] +str(".ui > ") +  comms['name'] +".py"
            
        def transFile(self):  
            f = open("trans.bat",'w')
            f.write("@echo on
    ")
            f.writelines(str(comms['root']+"
    ").encode('gbk'))
            f.writelines(str(comms['cd']+"
    ").encode('gbk'))
            f.writelines(str(comms['command']+"
    ").encode('gbk'))
            f.write("exit")
            abstractpath = os.getcwd()+'\trans.bat'
            os.popen('start %s'%str(abstractpath))
            
    app=QApplication(sys.argv)  
    form=StandardDialog()  
    form.show()  
    app.exec_()
    

    原理其实很简单,也比较麻烦吧

    因为我先把选择的目录拆分了以后再把这些拆分的数据转换为cmd命令然后写入到dat文件然后运行此bat文件的程序。

    比较麻烦,主要是随便学习了一下python中的文件读写功能。跟C语言一样。呵呵

    你也可以模仿写一个qrc生成py的文件

    运行界面:

  • 相关阅读:
    【WPF】wpf image控件加载网络图片不显示问题,
    【VS】vs修改大小写快捷键
    【C#】菜单功能,将剪贴板JSON内容或者xml内容直接粘贴为类
    【异常】调用的目标发生了异常
    【MySQL】函数IFNULL、设置默认时间
    【Kindle】pdf转mobi适合kindle查看格式
    【WPF】中的文字修饰——上划线,中划线,基线与下划线
    vscode使用Eslint + prettier + beautify 格式化vue 代码不换行
    Office文件转PDF
    MSSQL同步刷新视图字段长度和源表保持一致
  • 原文地址:https://www.cnblogs.com/hongguang-kim/p/5809300.html
Copyright © 2020-2023  润新知