zoukankan      html  css  js  c++  java
  • PyQt小工具

    # -*- coding: utf-8 -*-
    
    # Form implementation generated from reading ui file 'E:MyProcodePyQTword_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"
    请输入正确地址!")
            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	oolsPython27Libsite-packagesPyQt4uic

    输入命令

    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

  • 相关阅读:
    进阶之路(基础篇)
    进阶之路(基础篇)
    进阶之路(基础篇)
    进阶之路(基础篇)
    进阶之路
    C语言连接MySQL数据库(转)
    Linux下mysql的远程连接(转)
    Linux 操作MySQL常用命令行(转)
    Linux(Ubuntu12.04)上玩儿STC单片机(转)
    信号量 Linux函数 semget();semctl();semop();(转)
  • 原文地址:https://www.cnblogs.com/cmm2016/p/7559974.html
Copyright © 2011-2022 走看看