rendered paste body# -*- coding: utf-8 -*-
import sys
from PyQt4 import QtCore, QtGui
from edytor import Ui_notepad
class StartQt4(QtGui.QMainWindow):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.ui = Ui_notepad()
self.ui.setupUi(self)
# Here we connect signals with our slots
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):
fd = QtGui.QFileDialog(self)
self.filename = fd.getOpenFileName()
from os.path import isfile
if isfile(self.filename):
import codecs
text = codecs.open(self.filename, 'r', 'utf-8').read()
self.ui.editor_window.setPlainText(text)
def file_save(self):
from os.path import isfile
if isfile(self.filename):
import codecs
file = codecs.open(self.filename, 'w', 'utf-8')
file.write(unicode(self.ui.editor_window.toPlainText()))
file.close()
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
myapp = StartQt4()
myapp.show()
sys.exit(app.exec_())
Traceback (most recent call last):
File "start.py", line 21, in file_dialog
if isfile(self.filename):
File "/usr/lib/python2.5/posixpath.py", line 208, in isfile
st = os.stat(path)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xf3 in position 23: ordinal not in range(128)