Всем привет, я новичок в Python. Помогите найти ошибку в коде текстового редактора, не могу сохранить файл) Это курсовая работа. Еще кто-нибудь знают туториалы на pyqt5 всеми модулями на русском?) а то все на англ.
import sys
from PyQt5.QtWidgets import (QApplication, QMainWindow, QWidget, QPushButton, QAction, QTextEdit, QFileDialog)
from PyQt5.QtGui import QIcon
from PyQt5.QtCore import pyqtSlot
class App(QMainWindow):
def __init__(self):
super().__init__()
self.title = 'SimpleEditor'
self.left = 10
self.top = 10
self.width = 800
self.height = 600
self.initUI()
def initUI(self):
self.textEdit = QTextEdit()
self.setCentralWidget(self.textEdit)
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
self.statusBar().showMessage('This is statusbar')
#Тулбар
mainMenu = self.menuBar()
fileMenu = mainMenu.addMenu('File')
editMenu = mainMenu.addMenu('Edit')
viewMenu = mainMenu.addMenu('View')
searchMenu = mainMenu.addMenu('Search')
toolsMenu = mainMenu.addMenu('Tools')
helpMenu = mainMenu.addMenu('Help')
#Новый файл
newAction = QAction('New', self)
newAction.setShortcut('Ctrl+N')
newAction.setStatusTip('Create a file')
newAction.triggered.connect(self.newFile)
#открыть файл
openAction = QAction(QIcon('open.png'), 'Open', self)
openAction.setShortcut('Ctrl+O')
openAction.setStatusTip('Open new File')
openAction.triggered.connect(self.openFile)
#Сохранить файл
saveAction = QAction(QIcon('save.png'), 'Save As', self)
saveAction.setShortcut('Ctrl+s')
saveAction.setStatusTip('Save as file')
saveAction.triggered.connect(self.saveAs)
#Выход
exitAction = QAction('Exit', self)
exitAction.setShortcut('Ctrl+Q')
exitAction.setStatusTip('Exit application')
exitAction.triggered.connect(self.close)
fileMenu.addAction(newAction)
fileMenu.addAction(openAction)
fileMenu.addAction(saveAction)
fileMenu.addAction(exitAction)
self.show()
def newFile(self):
self.textEdit.setText("")
def saveAs(self):
filename = QFileDialog.getSaveFileName(self)
f = open(filename, 'w')
txt = self.textEdit.toPlainText()
f.write("txt")
f.close()
def openFile(self):
fname = QFileDialog.getOpenFileName(self, 'Open File', '/home', "All Files (*);;Python Files (*.py)")[0]
f = open(fname, 'r')
with f:
data = f.read()
self.textEdit.setText(data)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = App()
sys.exit(app.exec_())