QT designer 做出来的UI及其应用机制原理

pyqt4带了一个设计器,可以用拖放的方法设计界面。但是这个界面如何与代码结合起来还有点问题。

第一步,做界面,生成ui文件
第二步,命令行做成.py文件,即pyuic4 -o 输出文件名 输入文件名
第三步,写代码如下:

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

import sys
from PyQt4 import QtGui, QtCore
from edyto_ui import Ui_notepad  #这里导入界面文件的类


class notepad(QtGui.QWidget): #建立新类,注意父类
    def __init__(self, parent=None): #构造
        QtGui.QWidget.__init__(self, parent)#父类构造
        self.ui = Ui_notepad()# 界面类实例
        self.ui.setupUi(self) #界面类应用。
        QtCore.QObject.connect(self.ui.button_open, QtCore.SIGNAL("clicked()"), self.file_dialog) #按钮与代码的对应,注意file_dialog,是成员函数名。
        QtCore.QObject.connect(self.ui.save_button, QtCore.SIGNAL("clicked()"), self.file_save) #同上,文件保存按钮

    def file_dialog(self): #按钮命令模块
        fd = QtGui.QFileDialog(self) #文件对话框的实例
        self.filename = fd.getOpenFileName()  # 获得打开的文件名
from os.path import isfile  # 确保这是个文件名

if isfile(self.filename):
    import codecs  # 解码模块

     s = codecs.open(self.filename, 'r', 'utf-8').read()  # 读取文件
    #text = open(self.filename).read()
    self.ui.editor_window.setPlainText(s)  #把文件内容放在文本框里。

def file_save(self):
from os.path import isfile
if isfile(self.filename):
import codecs
s = codecs.open(self.filename,'w','utf-8')
s.write(str(self.ui.editor_window.toPlainText()))
s.close()


if __name__ == '__main__':  # 测试代码
app = QtGui.QApplication(sys.argv)  #常规复制
mywindows = notepad()  # 上面类的实例
mywindows.show()      #对象显示
sys.exit(app.exec_())  #正常退出


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值