PyQt小工具

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'E:\MyPro\code\PyQT\word_to_txt.ui'
#
# Created: Tue Sep 19 19:04:14 2017
#      by: PyQt4 UI code generator 4.10.2
#
# WARNING! All changes made in this file will be lost!
import sys
import os
import time
from PyQt4 import QtCore, QtGui

reload(sys)
sys.setdefaultencoding('utf-8')

try:
    _fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
    def _fromUtf8(s):
        return s

try:
    _encoding = QtGui.QApplication.UnicodeUTF8


    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig)


class Ui_Dialog(QtGui.QDialog):
    def __init__(self):
        super(Ui_Dialog, self).__init__()
        self.setupUi(self)
        # self.retranslateUi(self)

    def setupUi(self, Dialog):
        Dialog.setObjectName(_fromUtf8("Dialog"))
        Dialog.resize(600, 600)
        self.word_label = QtGui.QLabel(Dialog)
        self.word_label.setGeometry(QtCore.QRect(20, 40, 54, 12))
        self.word_label.setObjectName(_fromUtf8("word_label"))
        self.txt_label = QtGui.QLabel(Dialog)
        self.txt_label.setGeometry(QtCore.QRect(20, 150, 54, 12))
        self.txt_label.setObjectName(_fromUtf8("txt_label"))
        self.word_path = QtGui.QLineEdit(Dialog)
        self.word_path.setGeometry(QtCore.QRect(90, 40, 281, 20))
        self.word_path.setObjectName(_fromUtf8("word_path"))
        self.txt_path = QtGui.QLineEdit(Dialog)
        self.txt_path.setGeometry(QtCore.QRect(90, 150, 281, 20))
        self.txt_path.setObjectName(_fromUtf8("txt_path"))
        self.exchange_btn = QtGui.QPushButton(Dialog)
        self.exchange_btn.setGeometry(QtCore.QRect(140, 100, 75, 23))
        self.exchange_btn.setObjectName(_fromUtf8("exchange_btn"))
        self.text_edit = QtGui.QTextEdit(Dialog)
        self.text_edit.setGeometry(QtCore.QRect(20, 180, 550, 400))
        # self.text_edit.setObjectName(_fromUtf8("rizhi"))

        self.retranslateUi(Dialog)
        QtCore.QMetaObject.connectSlotsByName(Dialog)

    def retranslateUi(self, Dialog):
        Dialog.setWindowTitle(_translate("Dialog", "批量转换工具", None))
        Dialog.setWindowIcon(QtGui.QIcon("710.png"))
        self.word_label.setText(_translate("Dialog", "word路径", None))
        self.txt_label.setText(_translate("Dialog", "txt路径", None))
        self.exchange_btn.setText(_translate("Dialog", "转换", None))
        QtCore.QObject.connect(self.exchange_btn, QtCore.SIGNAL("clicked()"), self.exchange)

    def no_such_path_warning(self):

        msg_box = QtGui.QMessageBox(QtGui.QMessageBox.Warning, u"警告", u"\n请输入正确地址!")
        msg_box.show()
        msg_box.exec_()

    def exchange(self):
        word_pat = self.word_path.text()
        txt_pat = self.txt_path.text()
        if not os.path.exists(word_pat):
            self.no_such_path_warning()
        else:
            self.text_edit.append(word_pat)
            self.text_edit.append(txt_pat)




if __name__ == '__main__':
    app = QtGui.QApplication(sys.argv)
    ex = Ui_Dialog()
    ex.show()
    sys.exit(app.exec_())
View Code

 pyqt4转ui文件为py:

在cmd控制台下,进入uic目录:

cd C:\Cocos\tools\Python27\Lib\site-packages\PyQt4\uic

输入命令

python pyuic.py ui文件路径 -o py文件路径

因为Qt生成的代码得要有其它东西调用才能出来界面 
因此如果想运行出界面还需另外添加如下代码

if __name__ == "__main__":   
    app = QtGui.QApplication(sys.argv)   
    myapp = MyForm()   #MyForm是自己的窗体类名
    myapp.show()   
    sys.exit(app.exec_())  

 在类中添加初始化:

class Ui_Dialog(QtGui.QDialog):
    def __init__(self):
        super(Ui_Dialog, self).__init__()
        self.setupUi(self)

注意,自动生成的类可能需要继承(QtGui.QDialog)

 

为了实现界面与底层功能代码分离建议另外新建一个文件用来编写底层功能代码,如新建一个main.py:

from PyQt4 import QtGui

import sys

from GammaSpecPro3 import Ui_MainWindow

#​GammaSpecPro3为***.ui转换的py文件名,也就相当于模块。

#​Ui_MainWindow为GammaSpecPro3界面的类,打开该py文件即可看到

​

​class MyWindow(QtGui.QMainWindow):

    def __init__(self):

        super(MyWindow, self).__init__()

        self.ui = Ui_MainWindow() #这里需要注意self.ui已经将Ui_MainWindow类实例 #化,因此继承了该类的所有属性,后面更改设置属性都用self.ui“冠名”

        self.ui.setupUi(self)

=======================我是注释========================

这个类的下面就可以编写(def)自己的函数,如按钮的功能等

def。。。

​=======================注释完毕========================

  

if __name__ == "__main__":

      app = QtGui.QApplication(sys.argv)

    w = MyWindow()

    w.show()

    sys.exit(app.exec_())

之后直接运行main.py

posted @ 2017-09-22 15:25  好奇的小明  阅读(335)  评论(0编辑  收藏  举报