Загрузка данных
# Form implementation generated from reading ui file 'NotePadDemo.ui'
#
# Created by: PyQt6 UI code generator 6.11.0
#
# WARNING: Any manual changes made to this file will be lost when pyuic6 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt6 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(835, 653)
self.centralwidget = QtWidgets.QWidget(parent=MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.horizontalLayout = QtWidgets.QHBoxLayout(self.centralwidget)
self.horizontalLayout.setObjectName("horizontalLayout")
self.textEdit = QtWidgets.QTextEdit(parent=self.centralwidget)
self.textEdit.setObjectName("textEdit")
self.horizontalLayout.addWidget(self.textEdit)
MainWindow.setCentralWidget(self.centralwidget)
self.statusbar = QtWidgets.QStatusBar(parent=MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.menubar = QtWidgets.QMenuBar(parent=MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 835, 21))
self.menubar.setObjectName("menubar")
self.menuFile = QtWidgets.QMenu(parent=self.menubar)
self.menuFile.setObjectName("menuFile")
self.menuEdit = QtWidgets.QMenu(parent=self.menubar)
self.menuEdit.setObjectName("menuEdit")
self.menuFormat = QtWidgets.QMenu(parent=self.menubar)
self.menuFormat.setObjectName("menuFormat")
self.menuAbout = QtWidgets.QMenu(parent=self.menubar)
self.menuAbout.setObjectName("menuAbout")
MainWindow.setMenuBar(self.menubar)
self.toolBar = QtWidgets.QToolBar(parent=MainWindow)
self.toolBar.setObjectName("toolBar")
MainWindow.addToolBar(QtCore.Qt.ToolBarArea.TopToolBarArea, self.toolBar)
self.actionNew = QtGui.QAction(parent=MainWindow)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap("images/new.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionNew.setIcon(icon)
self.actionNew.setObjectName("actionNew")
self.actionCopes = QtGui.QAction(parent=MainWindow)
icon1 = QtGui.QIcon()
icon1.addPixmap(QtGui.QPixmap("images/open.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionCopes.setIcon(icon1)
self.actionCopes.setObjectName("actionCopes")
self.actionSave = QtGui.QAction(parent=MainWindow)
icon2 = QtGui.QIcon()
icon2.addPixmap(QtGui.QPixmap("images/save.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionSave.setIcon(icon2)
self.actionSave.setObjectName("actionSave")
self.actionPrint = QtGui.QAction(parent=MainWindow)
icon3 = QtGui.QIcon()
icon3.addPixmap(QtGui.QPixmap("images/printprev.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionPrint.setIcon(icon3)
self.actionPrint.setObjectName("actionPrint")
self.actionPrint_2 = QtGui.QAction(parent=MainWindow)
icon4 = QtGui.QIcon()
icon4.addPixmap(QtGui.QPixmap("images/print.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionPrint_2.setIcon(icon4)
self.actionPrint_2.setObjectName("actionPrint_2")
self.actionExport_PDF = QtGui.QAction(parent=MainWindow)
icon5 = QtGui.QIcon()
icon5.addPixmap(QtGui.QPixmap("images/pdf.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionExport_PDF.setIcon(icon5)
self.actionExport_PDF.setObjectName("actionExport_PDF")
self.actionQuite = QtGui.QAction(parent=MainWindow)
icon6 = QtGui.QIcon()
icon6.addPixmap(QtGui.QPixmap("images/exit.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionQuite.setIcon(icon6)
self.actionQuite.setObjectName("actionQuite")
self.actionUndo = QtGui.QAction(parent=MainWindow)
icon7 = QtGui.QIcon()
icon7.addPixmap(QtGui.QPixmap("images/undo.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionUndo.setIcon(icon7)
self.actionUndo.setObjectName("actionUndo")
self.actionRedo = QtGui.QAction(parent=MainWindow)
icon8 = QtGui.QIcon()
icon8.addPixmap(QtGui.QPixmap("images/redo.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionRedo.setIcon(icon8)
self.actionRedo.setObjectName("actionRedo")
self.actionCut = QtGui.QAction(parent=MainWindow)
icon9 = QtGui.QIcon()
icon9.addPixmap(QtGui.QPixmap("images/cut.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionCut.setIcon(icon9)
self.actionCut.setObjectName("actionCut")
self.actionCopy = QtGui.QAction(parent=MainWindow)
icon10 = QtGui.QIcon()
icon10.addPixmap(QtGui.QPixmap("images/copy.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionCopy.setIcon(icon10)
self.actionCopy.setObjectName("actionCopy")
self.actionPaste = QtGui.QAction(parent=MainWindow)
icon11 = QtGui.QIcon()
icon11.addPixmap(QtGui.QPixmap("images/paste.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionPaste.setIcon(icon11)
self.actionPaste.setObjectName("actionPaste")
self.actionBold = QtGui.QAction(parent=MainWindow)
icon12 = QtGui.QIcon()
icon12.addPixmap(QtGui.QPixmap("images/bold.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionBold.setIcon(icon12)
self.actionBold.setObjectName("actionBold")
self.actionItalic = QtGui.QAction(parent=MainWindow)
icon13 = QtGui.QIcon()
icon13.addPixmap(QtGui.QPixmap("images/italic.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionItalic.setIcon(icon13)
self.actionItalic.setObjectName("actionItalic")
self.actionUnderline = QtGui.QAction(parent=MainWindow)
icon14 = QtGui.QIcon()
icon14.addPixmap(QtGui.QPixmap("images/underline.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionUnderline.setIcon(icon14)
self.actionUnderline.setObjectName("actionUnderline")
self.actionLeft = QtGui.QAction(parent=MainWindow)
icon15 = QtGui.QIcon()
icon15.addPixmap(QtGui.QPixmap("images/left.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionLeft.setIcon(icon15)
self.actionLeft.setObjectName("actionLeft")
self.actionRight = QtGui.QAction(parent=MainWindow)
icon16 = QtGui.QIcon()
icon16.addPixmap(QtGui.QPixmap("images/right.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionRight.setIcon(icon16)
self.actionRight.setObjectName("actionRight")
self.actionCenter = QtGui.QAction(parent=MainWindow)
icon17 = QtGui.QIcon()
icon17.addPixmap(QtGui.QPixmap("images/center.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionCenter.setIcon(icon17)
self.actionCenter.setObjectName("actionCenter")
self.actionjustifi = QtGui.QAction(parent=MainWindow)
icon18 = QtGui.QIcon()
icon18.addPixmap(QtGui.QPixmap("images/justify.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionjustifi.setIcon(icon18)
self.actionjustifi.setObjectName("actionjustifi")
self.actionFont = QtGui.QAction(parent=MainWindow)
icon19 = QtGui.QIcon()
icon19.addPixmap(QtGui.QPixmap("images/font.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionFont.setIcon(icon19)
self.actionFont.setObjectName("actionFont")
self.actionColor = QtGui.QAction(parent=MainWindow)
icon20 = QtGui.QIcon()
icon20.addPixmap(QtGui.QPixmap("images/color.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionColor.setIcon(icon20)
self.actionColor.setObjectName("actionColor")
self.actionAboyt_App = QtGui.QAction(parent=MainWindow)
icon21 = QtGui.QIcon()
icon21.addPixmap(QtGui.QPixmap("images/about.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.actionAboyt_App.setIcon(icon21)
self.actionAboyt_App.setObjectName("actionAboyt_App")
self.menuFile.addAction(self.actionNew)
self.menuFile.addAction(self.actionCopes)
self.menuFile.addAction(self.actionSave)
self.menuFile.addSeparator()
self.menuFile.addAction(self.actionPrint_2)
self.menuFile.addAction(self.actionPrint)
self.menuFile.addAction(self.actionExport_PDF)
self.menuFile.addSeparator()
self.menuFile.addAction(self.actionQuite)
self.menuEdit.addAction(self.actionUndo)
self.menuEdit.addAction(self.actionRedo)
self.menuEdit.addSeparator()
self.menuEdit.addAction(self.actionCut)
self.menuEdit.addAction(self.actionCopy)
self.menuEdit.addAction(self.actionPaste)
self.menuFormat.addAction(self.actionBold)
self.menuFormat.addAction(self.actionItalic)
self.menuFormat.addAction(self.actionUnderline)
self.menuFormat.addSeparator()
self.menuFormat.addAction(self.actionLeft)
self.menuFormat.addAction(self.actionRight)
self.menuFormat.addAction(self.actionCenter)
self.menuFormat.addAction(self.actionjustifi)
self.menuFormat.addSeparator()
self.menuFormat.addAction(self.actionFont)
self.menuFormat.addAction(self.actionColor)
self.menuAbout.addAction(self.actionAboyt_App)
self.menubar.addAction(self.menuFile.menuAction())
self.menubar.addAction(self.menuEdit.menuAction())
self.menubar.addAction(self.menuFormat.menuAction())
self.menubar.addAction(self.menuAbout.menuAction())
self.toolBar.addAction(self.actionNew)
self.toolBar.addAction(self.actionCopes)
self.toolBar.addAction(self.actionSave)
self.toolBar.addAction(self.actionPrint_2)
self.toolBar.addAction(self.actionPrint)
self.toolBar.addAction(self.actionExport_PDF)
self.toolBar.addAction(self.actionQuite)
self.toolBar.addAction(self.actionUndo)
self.toolBar.addAction(self.actionRedo)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "NotPad App"))
self.menuFile.setTitle(_translate("MainWindow", "File"))
self.menuEdit.setTitle(_translate("MainWindow", "Edit"))
self.menuFormat.setTitle(_translate("MainWindow", "Format"))
self.menuAbout.setTitle(_translate("MainWindow", "About"))
self.toolBar.setWindowTitle(_translate("MainWindow", "toolBar"))
self.actionNew.setText(_translate("MainWindow", "New"))
self.actionNew.setShortcut(_translate("MainWindow", "Ctrl+X"))
self.actionCopes.setText(_translate("MainWindow", "Open"))
self.actionCopes.setShortcut(_translate("MainWindow", "Backspace, Ctrl+F"))
self.actionSave.setText(_translate("MainWindow", "Save"))
self.actionSave.setShortcut(_translate("MainWindow", "Ctrl+S"))
self.actionPrint.setText(_translate("MainWindow", "Print Preview"))
self.actionPrint.setShortcut(_translate("MainWindow", "Ctrl+B"))
self.actionPrint_2.setText(_translate("MainWindow", "Print"))
self.actionPrint_2.setShortcut(_translate("MainWindow", "Ctrl+C"))
self.actionExport_PDF.setText(_translate("MainWindow", "Export PDF"))
self.actionExport_PDF.setShortcut(_translate("MainWindow", "Shift+B"))
self.actionQuite.setText(_translate("MainWindow", "Quite"))
self.actionQuite.setShortcut(_translate("MainWindow", "Ctrl+Q"))
self.actionUndo.setText(_translate("MainWindow", "Undo"))
self.actionUndo.setShortcut(_translate("MainWindow", "Ctrl+Z"))
self.actionRedo.setText(_translate("MainWindow", "Redo"))
self.actionRedo.setShortcut(_translate("MainWindow", "Shift+D"))
self.actionCut.setText(_translate("MainWindow", "Cut"))
self.actionCut.setShortcut(_translate("MainWindow", "Shift+H"))
self.actionCopy.setText(_translate("MainWindow", "Copy"))
self.actionCopy.setShortcut(_translate("MainWindow", "Ctrl+C"))
self.actionPaste.setText(_translate("MainWindow", "Paste"))
self.actionPaste.setShortcut(_translate("MainWindow", "Shift+V"))
self.actionBold.setText(_translate("MainWindow", "Bold"))
self.actionBold.setShortcut(_translate("MainWindow", "Shift+A"))
self.actionItalic.setText(_translate("MainWindow", "Italic"))
self.actionItalic.setShortcut(_translate("MainWindow", "Ctrl+I"))
self.actionUnderline.setText(_translate("MainWindow", "Underline"))
self.actionUnderline.setShortcut(_translate("MainWindow", "Ctrl+E"))
self.actionLeft.setText(_translate("MainWindow", "Left"))
self.actionLeft.setShortcut(_translate("MainWindow", "Ctrl+L"))
self.actionRight.setText(_translate("MainWindow", "Right"))
self.actionRight.setShortcut(_translate("MainWindow", "Ctrl+R"))
self.actionCenter.setText(_translate("MainWindow", "Center"))
self.actionCenter.setShortcut(_translate("MainWindow", "Ctrl+K"))
self.actionjustifi.setText(_translate("MainWindow", "justifi"))
self.actionjustifi.setShortcut(_translate("MainWindow", "Ctrl+J"))
self.actionFont.setText(_translate("MainWindow", "Font"))
self.actionColor.setText(_translate("MainWindow", "Color"))
self.actionAboyt_App.setText(_translate("MainWindow", "About App"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec())
from PyQt6.QtWidgets import *
import sys
from NotePad import *
from PyQt6.QtPrintSupport import *
from PyQt6.QtGui import *
from PyQt6.QtCore import Qt
class NotePadWindow(QMainWindow, Ui_MainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)
self.show()
self.actionSave.triggered.connect(self.save_file)
self.actionNew.triggered.connect(self.file_new)
self.actionCopes.triggered.connect(self.open_file)
self.actionPrint.triggered.connect(self.priview_dialog)
self.actionPrint_2.triggered.connect(self.print_file)
self.actionUndo.triggered.connect(self.textEdit.undo)
self.actionRedo.triggered.connect(self.textEdit.redo)
self.actionExport_PDF.triggered.connect(self.export_pdf)
self.actionQuite.triggered.connect(self.close)
self.actionCut.triggered.connect(self.textEdit.cut)
self.actionCopy.triggered.connect(self.textEdit.copy)
self.actionPaste.triggered.connect(self.textEdit.paste)
self.actionBold.triggered.connect(self.text_bold)
self.actionItalic.triggered.connect(self.text_italic)
self.actionUnderline.triggered.connect(self.text_underline)
self.actionLeft.triggered.connect(self.align_left)
self.actionRight.triggered.connect(self.align_right)
self.actionCenter.triggered.connect(self.align_center)
self.actionjustifi.triggered.connect(self.justify)
self.actionFont.triggered.connect(self.font_dialog)
self.actionColor.triggered.connect(self.color_dialog)
def closeEvent(self, event):
if self.mayby_save():
event.accept()
else:
event.ignore()
def mayby_save(self):
if not self.textEdit.document().isModified():
return True
ret = QMessageBox.warning(
self,
'Application',
'The document has been modified. Do you want to save it?',
QMessageBox.StandardButton.Save
| QMessageBox.StandardButton.Discard
| QMessageBox.StandardButton.Cancel,
)
if ret == QMessageBox.StandardButton.Save:
return self.save_file()
if ret == QMessageBox.StandardButton.Cancel:
return False
return True
def save_file(self):
filename, _ = QFileDialog.getSaveFileName(
self, 'Save File', '', 'Text Files (*.txt);;All Files (*)'
)
if filename:
with open(filename, 'w', encoding='utf-8') as f:
text = self.textEdit.toPlainText()
f.write(text)
QMessageBox.about(self, 'File Saved', 'File Saved')
self.textEdit.document().setModified(False)
return True
return False
def file_new(self):
if self.mayby_save():
self.textEdit.clear()
self.textEdit.document().setModified(False)
def open_file(self):
fname, _ = QFileDialog.getOpenFileName(
self, 'Open File', '', 'Text Files (*.txt);;All Files (*)'
)
if fname:
with open(fname, 'r', encoding='utf-8') as f:
data = f.read()
self.textEdit.setText(data)
self.textEdit.document().setModified(False)
def print_file(self):
printer = QPrinter(QPrinter.PrinterMode.HighResolution)
dialog = QPrintDialog(printer, self)
if dialog.exec() == QPrintDialog.DialogCode.Accepted:
getattr(self.textEdit, "print")(printer)
def priview_dialog(self):
printer = QPrinter(QPrinter.PrinterMode.HighResolution)
preview_dialog = QPrintPreviewDialog(printer, self)
preview_dialog.paintRequested.connect(self.print_preview)
preview_dialog.exec()
def print_preview(self, printer):
getattr(self.textEdit, "print")(printer)
def export_pdf(self):
filename, _ = QFileDialog.getSaveFileName(
self, 'Export PDF', '', 'PDF Files (*.pdf)'
)
if filename:
writer = QPdfWriter(filename)
writer.setPageSize(QPdfWriter.PageSize.A4)
getattr(self.textEdit, "print")(writer)
QMessageBox.about(self, 'Success', 'File exported to PDF successfully')
def text_bold(self):
font = QFont()
font.setBold(True)
self.textEdit.setCurrentFont(font)
def text_italic(self):
font = QFont()
font.setItalic(True)
self.textEdit.setCurrentFont(font)
def text_underline(self):
font = QFont()
font.setUnderline(True)
self.textEdit.setCurrentFont(font)
def align_left(self):
self.textEdit.setAlignment(Qt.AlignmentFlag.AlignLeft)
def align_right(self):
self.textEdit.setAlignment(Qt.AlignmentFlag.AlignRight)
def align_center(self):
self.textEdit.setAlignment(Qt.AlignmentFlag.AlignCenter)
def justify(self):
self.textEdit.setAlignment(Qt.AlignmentFlag.AlignJustify)
def font_dialog(self):
font, ok = QFontDialog.getFont()
if ok:
self.textEdit.setCurrentFont(font)
def color_dialog(self):
color = QColorDialog.getColor()
if color.isValid():
self.textEdit.setTextColor(color)
app = QApplication(sys.argv)
Note = NotePadWindow()
sys.exit(app.exec())