Форум сайта python.su
Всем привет. Люди добрые помогите пожалуйста мучаюсь два дня.
Есть текстовый редактор, написанный на Python с использованием PyQt4
Я сделал кнопку “Файл”, в которой есть Закрытие файла, Открытие, Сохранение. Помогите дописать программу которая будет делать текст Жирным, Курсивом, Подчеркнутым при нажатии на кнопку.
# Текстовый редактор
from PyQt4 import QtCore, QtGui
import sys
class MainWindow(QtGui.QMainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)
self.resize(1366, 768)
self.setWindowTitle(“Текстовый редактор”)
self.text_edit = QtGui.QTextEdit()
self.setCentralWidget(self.text_edit)
# пункт меню Выход
exit_action = QtGui.QAction(“Выход”, self)
exit_action.setShortcut(“Ctrl+Q”)
exit_action.setStatusTip(“Выйти из программы”)
self.connect(exit_action, QtCore.SIGNAL(“triggered()”), QtCore.SLOT(“close()”))
# пункт меню Сохранить как
saveAs_action = QtGui.QAction(“Сохранить как…”, self)
saveAs_action.setShortcut(“Ctrl+S”)
saveAs_action.setStatusTip(“Сохранить как документ”)
self.connect(saveAs_action, QtCore.SIGNAL(“triggered()”), self.saveAs_file)
# пункт меню Открыть
open_action = QtGui.QAction(“Открыть”, self)
open_action.setShortcut(“Ctrl+O”)
open_action.setStatusTip(“Открыть документ”)
self.connect(open_action, QtCore.SIGNAL(“triggered()”), self.open_file)
# пункт меню Новый
new_action = QtGui.QAction(“Новый”, self)
new_action.setShortcut(“Ctrl+N”)
new_action.setStatusTip(“Новый документ”)
self.connect(new_action, QtCore.SIGNAL(“triggered()”), self.new_file)
# пункт меню Жирный
“”“fatty_font = QtGui.QAction(”Жирный“, self)
fatty_font.setShortcut(”Ctrl+B“)
fatty_font.setStatusTip(”Жирный шрифт“)
self.connect(fatty_font, QtCore.SIGNAL(”triggered()“), self.fatty_font)
”“”
self.statusBar()
menu_bar = self.menuBar()
file = menu_bar.addMenu(“&Файл”)
file.addAction(exit_action)
file.addAction(saveAs_action)
file.addAction(new_action)
file.addAction(open_action)
“”“file = menu_bar.addMenu(”&Шрифт“)
file.addAction(fatty_font)
”“”
def saveAs_file(self):
file_name = QtGui.QFileDialog.getSaveFileName(self, “Выбор файла”)
opened_file = open(file_name, “w”)
txt = self.text_edit.toPlainText()
opened_file.write(txt)
opened_file.close()
def open_file(self):
file_name = QtGui.QFileDialog.getOpenFileName(self, “Выбор файла”)
opened_file = open(file_name, “r”)
txt = opened_file.read()
opened_file.close()
self.text_edit.setText(txt)
def new_file(self):
self.text_edit.setText(“”)
def close_event(self, event):
reply = QtGui.QMessageBox.question(self, “Message”, “Are you sure to exit?”,
QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)
if reply == QtGui.QMessageBox.Yes:
event.accept()
else:
event.ignore()
app = QtGui.QApplication(sys.argv)
main = MainWindow()
main.show()
sys.exit(app.exec_())
Прикреплённый файлы: текстовый редактор.py (3,3 KБ)
Офлайн
def fatty_font(self): if self.text_edit.fontWeight() == QtGui.QFont.Bold: self.text_edit.setFontWeight(QtGui.QFont.Normal) else: self.text_edit.setFontWeight(QtGui.QFont.Bold)
Офлайн
спасибо огромное
Офлайн