.ui/qrc文件自動生成.py文件

前天PL讓咱們作一個從手機裏手機一些數據導出到excel文件裏的Tool。python

讓咱們用python去寫一個。可是咱們都沒有學過python。。呵呵!app

而後昨天看了一些文檔。作ui時還須要把圖片寫入qrc中而後再讓它生成一個py文件這個表示比較麻煩,工具

而後就寫了這個腳本。學習

很是簡單的一個程序。就是有關中文編碼處理相關就有點麻煩。ui

由於是初學者因此並不知道有什麼工具或方法能夠處理此問題。編碼

就隨便寫了一個。主要是爲了學習一下python。excel

學語言必需要本身寫代碼,抄代碼也能夠,反正必須本身寫一遍才能提升能力。code

# -*-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\n")
        f.writelines(str(comms['root']+"\n").encode('gbk'))
        f.writelines(str(comms['cd']+"\n").encode('gbk'))
        f.writelines(str(comms['command']+"\n").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_()

原理其實很簡單,也比較麻煩吧orm

由於我先把選擇的目錄拆分了之後再把這些拆分的數據轉換爲cmd命令而後寫入到dat文件而後運行此bat文件的程序。blog

比較麻煩,主要是隨便學習了一下python中的文件讀寫功能。跟C語言同樣。呵呵

你也能夠模仿寫一個qrc生成py的文件

運行界面:

相關文章
相關標籤/搜索