PyQt4实现一个简单的notepad
来源:互联网 发布:手机ping命令测试网络 编辑:程序博客网 时间:2024/06/14 04:48
学习《PyQt4编程简介》,实现的一个notepad。
1. 用designer放了两个按钮之后,其他按钮都是直接修改代码生成的,比重新designer,再pyuic,简单点儿
2. 实现了打开,保存,清空,关闭 4个按钮
3. from os.path import isfile 判断文件名是否存在,需要导入这个,if isfile(self.filename)
4. import codecs 涉及中文编码问题,需要导入这个,fileContent = codecs.open(self.filename,'r','utf-8').read()
5. 不太明白self.filename 和 不带self .直接filename,有什么区别???
6. 文件选择对话框,用QFileDialog: fileDialog = QtGui.QFileDialog(self)
7. 将选择文件的文件名传给 filename: self.filename = fileDialog.getOpenFileName()
===========================================================
#!/usr/bin/python
# -*- coding: utf-8 -*-'''
Created on 2012-2-23
'''
import sys
from PyQt4 import QtGui, QtCore
from ui_notepad import Ui_Notepad
class myNotePad(QtGui.QMainWindow):
'''
classdocs
'''
def __init__(self,parent=None):
'''
Constructor
'''
QtGui.QWidget.__init__(self,parent)
self.ui = Ui_Notepad()
self.ui.setupUi(self)
# here we connect signals with our slots,我们把 “打开”信号链接到了自己实现的函数file_dialog(),也就是slot
# file_dialog() 是信号对应的函数
QtCore.QObject.connect(self.ui.button_open,QtCore.SIGNAL("clicked()"), self.file_dialog)
QtCore.QObject.connect(self.ui.button_save,QtCore.SIGNAL(("clicked()")),self.file_save)
def file_dialog(self):
# 设置文本内容
# self.ui.editor_window.setText('hahah,you are so cute')
# 点击 打开->出现文件选择对话框->选择一个文件->显示在editor中
# fileDialog.getOpenFileName()用于返回我们选择文件的名字,open这个文件并read
fileDialog = QtGui.QFileDialog(self)
self.filename = fileDialog.getOpenFileName()
# print self.filename
from os.path import isfile
# 如果文件名存在,则open并read
if isfile(self.filename):
import codecs
fileContent = codecs.open(self.filename,'r','utf-8').read()
self.ui.editor_window.setPlainText(fileContent)
def file_save(self):
# 保存修改后的文件
from os.path import isfile
if isfile(self.filename):
import codecs
sfile = codecs.open(self.filename, 'w', 'utf-8')
sfile.write(unicode(self.ui.editor_window.toPlainText()))
sfile.close()
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
myapp = myNotePad()
myapp.show()
sys.exit(app.exec_())
- PyQt4实现一个简单的notepad
- 实现简单的notepad功能
- python+PyQt4写的一个简单的计算器
- 使用Eric4+PyQt4制作一个简单的文本编辑器
- 用java写的Notepad简单实现版
- 【Java】实现一个简易记事本Notepad的编写
- pyqt4的qwebpage一个奇怪的bug
- 收集了一个pyqt4做的浏览器
- python3.1+pyqt4.8.1+eric5开发一个简单记事本程序
- Python PyQt4实现QQ的抽屉效果
- pyqt4制作简单爬虫
- Python+Matplotlib+PyQt4做的简单数据预测工具
- PyQt4的信号与插槽中简单实例源码讲解
- Notepad++配置简单的编程环境
- 一个简单singleton的实现
- 一个简单的SOA实现
- 一个HUD的简单实现
- 哈希表一个简单的实现
- Git详解之一 Git起步
- C++虚函数表解析(转)
- fatal error C1083: 无法打开包括文件:"dxtrans.h": No such file or directory
- vlc的流输出功能
- C#在应用程序进行web浏览
- PyQt4实现一个简单的notepad
- 关于new和delete,new[] 和delete[]
- openGL模板测试遇到的问题
- linux命令
- Git详解之二 Git基础
- Android Root方法原理解析及Hook(四) GingerBreak
- Git详解之三 Git分支
- silverlight 行为之一 ---TriggerAction
- android学习摘记——记录和恢复ListView滚动的位置