您的位置:首页 > 产品设计 > UI/UE

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

2016-08-26 10:17 169 查看
前天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\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_()


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

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

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

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

运行界面:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: