前天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的文件
运行界面: