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

.ui/qrc文件自动生成.py文件的更多相关文章
- 文件参数化-utp框架之根据yaml文件自动生成python文件+utp运行用例
根据yaml文件自动生成python文件 utp框架: bin目录:存放执行文件(run.py) cases目录:存放生成的用例的python文件(该目录下的文件为根据data目录下的测试用例生成的p ...
- 在visual studio code和visual studio中编写TypeScript文件自动生成JavaScript文件
注:此处的自动生成都为保存ts文件时自动生成js文件 VS CODE 只需要在TypeScript的终端控制台中输入如下命令即可,并注意需要将其中的*换成对应的文件名,此处的*似乎不能作为通用匹配. ...
- 自动生成.py文件头部的C语言小程序
每次都 vi xxx.py 然后再打 #!/usr/bin/env python 等等的程序头信息感觉有点麻烦,于是便想着写一个小程序自动生成这些头信息了,顺便在 ~/.bashrc 里写入 alia ...
- 根据xml文件自动生成xsd文件
根据xml生成xsd文档 1. 找到vs自带的xsd.exe工具所在的文件夹位置: C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin 注意 ...
- 如何将pyqt5的qt-designer设计出来的 .ui 和 .qrc 文件转化成 .py 文件
一.pyrcc5的使用 1.1 作用 将 .qrc 资源文件转换成py文件,并在主程序中通过 import 引入 1.2 资源文件编写说明 创建一个icon.qrc,代码如下: <RCC> ...
- Sqlalchemy model 文件自动生成
自动生成Sqlalchemy的models文件的包早用过了,有个字段类型做了改动,调了得10几分钟才搞定.记录下自动生成models文件的python包sqlacodegen sqlacodegen已 ...
- pycharm自动生成头文件注释
1.在file->settings->file and code templates->python script即可自定制pycharm创建文件自动生成的头文件注释信息 2.创建p ...
- python 自动生成model 文件 案例分析
生成方式 Python中想要自动生成 model文件可以通过 sqlacodegen这个命令来生成对应的model文件 sqlacodegen 你可以通过pip去安装: pip install sql ...
- linux下使用automake工具自动生成makefile文件
linux环境下,当项目工程很大的时候,编译的过程很复杂,所以需要使用make工具,自动进行编译安装,但是手写makefile文件比较复杂,所幸在GNU的计划中,设计出了一种叫做Autoconf/Au ...
随机推荐
- javascript 常用知识点
1:浏览器是有缓存的,开发中可以通过快捷键绕过缓存 对于Windows驱动的系统:Ctrl + F5 对于Mac驱动的系统:Command + Shift + R. 2:精度问题 (符点和大数字可能会 ...
- CodeChef KnightMov
码死了...考试的时候基本上是写一会儿思考一会儿人生....考完了调了调...最后400行+....不应该这么长的....以后重写一下再补题解..... 也许这就是蒟蒻吧.jpg 安利cstdio博客 ...
- WEB测试基础
一.输入框1.字符型输入框:(1)字符型输入框:英文全角.英文半角.数字.空或者空格.特殊字符“~!@#¥%……&*?[]{}”特别要注意单引号和&符号.禁止直接输入特殊字符时,使用“ ...
- 题解 P1059 【明明的随机数】
不会其他排序的小金羊又来水题了 本题我的思路:堆排,速度不需要算很快,AC就可以... 注意:初学者不宜抄此代码(压行严重) code: #include <cstdio> #includ ...
- Educational Codeforces Round 33 (Rated for Div. 2) 题解
A.每个状态只有一种后续转移,判断每次转移是否都合法即可. #include <iostream> #include <cstdio> using namespace std; ...
- Wedding UVA - 11294(2-SAT男女分点)
题意: 有N-1对夫妻参加一个婚宴,所有人都坐在一个长长的餐桌左侧或者右侧,新郎和新娘面做面坐在桌子的两侧.由于新娘的头饰很复杂,她无法看到和她坐在同一侧餐桌的人,只能看到对面餐桌的人.任意一对夫妻不 ...
- Android Native jni 编程 Android.mk 文件编写
LOCAL_PATH 必须位于Android.mk文件的最开始.它是用来定位源文件的位置,$(call my-dir)的作用就是返回当前目录的路径. LOCAL_PATH := $(call my-d ...
- 【树链剖分换根】P3979 遥远的国度
Description zcwwzdjn在追杀十分sb的zhx,而zhx逃入了一个遥远的国度.当zcwwzdjn准备进入遥远的国度继续追杀时,守护神RapiD阻拦了zcwwzdjn的去路,他需要zcw ...
- 防止xss攻击的核心代码
public class XssFilter implements Filter { @Override public void destroy() { } /** * 过滤器用来过滤的方法 */ @ ...
- 单例 ------ C++实现
基础知识掌握: 单例考虑三点:内存何时释放.运行速度如何.多线程下能否保证只有一个实例 如果获取对象的返回值类型是引用,返回值赋值给变量而不是引用会进行对象的拷贝,这样就会出现两个对象,可以把显示声明 ...