1. 程式人生 > >PyQt4 模擬記事本基本功能(保存,打開文件)

PyQt4 模擬記事本基本功能(保存,打開文件)

int .sh idt img 問題 top 我們 文件 pyqt

技術分享

1. 默認【保存】按鈕enable

2. 修改文本的內容後,【enable】

3. 解決字符亂碼問題:utf-8

# -*- coding: utf-8 -*-
import sys
from PyQt4 import QtCore, QtGui
from edytor import Ui_notepad
from os.path import isfile
import codecs

class StartQt4(QtGui.QMainWindow):
    def __init__(self, parent=None, flags=0):
        QtGui.QWidget.
__init__(self, parent) self.ui = Ui_notepad() self.ui.setupUi(self) ‘‘‘ click點擊 button_open 執行file_dialog‘‘‘ QtCore.QObject.connect(self.ui.button_open, QtCore.SIGNAL("clicked()"), self.file_dialog) ‘‘‘ click點擊 button_save 執行file_save保存‘‘‘ QtCore.QObject.connect(self.ui.button_save, QtCore.SIGNAL(
"clicked()"), self.file_save) ‘‘‘ editor_window的內容發送改變時,執行enable_save函數,enable = true‘‘‘ QtCore.QObject.connect(self.ui.editor_window, QtCore.SIGNAL("textChanged()"),self.enable_save ) def file_dialog(self): ‘‘‘ 使用QFileDialog來選擇文件‘‘‘ fd = QtGui.QFileDialog(self)
‘‘‘ 使用getOpenFileName()彈出一個文件選擇框 fd.getOpenFileName()用於返回我們選擇文件的名字。如果沒有選擇文件的話,會得打一個空的文件名 ‘‘‘ self.filename = fd.getOpenFileName() if isfile(self.filename): text = codecs.open(self.filename, r, utf-8).read() self.ui.editor_window.setPlainText(text) self.ui.button_save.setEnabled(False) def file_save(self): if isfile(self.filename): file = codecs.open(self.filename, w, utf-8) file.write(unicode(self.ui.editor_window.toPlainText())) file.close() self.ui.button_save.setEnabled(False) def enable_save(self): self.ui.button_save.setEnabled(True) if __name__ == "__main__": app = QtGui.QApplication(sys.argv) myapp = StartQt4() myapp.show() sys.exit(app.exec_())

PyQt4 模擬記事本基本功能(保存,打開文件)