.ui/qrc文件自动生成.py文件
2024-08-26 01:55:00
前天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的文件
运行界面:
最新文章
- angular2系列教程(三)components
- laravel(一):如何安装laravel
- IOS开发证书显示“此证书的签发者无效”解决方法
- C#中int,string,char[],char的转换(待续)
- jasonTree多选多级树控件
- bzoj1266: [AHOI2006]上学路线route
- MyBatis中井号与美元符号的区别
- 关于修改Eclipse工作空间对应的文件夹名称之后的处理.
- js 中文排序
- web Service试用简例
- [C++]C++中的运行时类型检测
- Angularjs -- 核心概念
- 结构-行为-样式-Angularjs-ngSanitize
- Robotframework-Appium系列:登录操作
- JAVA开发知识之Java的线程
- php-fpm 配置文件检测
- React 60S倒计时
- orb slam2 双目摄像头
- Go并发编程(四)
- Scrum介绍——续