Загрузка данных
# Form implementation generated from reading ui file 'NotePadDemo.ui'
# Интерфейс программы NotePad. Имена элементов сохранены как в исходном коде.
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.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, 30))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.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")
self.toolBar = QtWidgets.QToolBar(parent=MainWindow)
self.toolBar.setObjectName("toolBar")
MainWindow.addToolBar(QtCore.Qt.ToolBarArea.TopToolBarArea, self.toolBar)
# Создаём QAction с теми же именами, которые используются в NotePadApp.
actions = {
"actionNew": ("New", "new.png", "Ctrl+X"),
"actionCopes": ("Open", "open.png", "Backspace, Ctrl+F"),
"actionSave": ("Save", "save.png", "Ctrl+S"),
"actionPrint": ("Print Preview", "printprev.png", "Ctrl+B"),
"actionPrint_2": ("Print", "print.png", "Ctrl+C"),
"actionExport_PDF": ("Export PDF", "pdf.png", "Shift+B"),
"actionQuite": ("Quite", "exit.png", "Ctrl+Q"),
"actionUndo": ("Undo", "undo.png", "Ctrl+Z"),
"actionRedo": ("Redo", "redo.png", "Shift+D"),
"actionCut": ("Cut", "cut.png", "Shift+H"),
"actionCopy": ("Copy", "copy.png", "Ctrl+C"),
"actionPaste": ("Paste", "paste.png", "Shift+V"),
"actionBold": ("Bold", "bold.png", "Shift+A"),
"actionItalic": ("Italic", "italic.png", "Ctrl+I"),
"actionUnderline": ("Underline", "underline.png", "Ctrl+E"),
"actionLeft": ("Left", "left.png", "Ctrl+L"),
"actionRight": ("Right", "right.png", "Ctrl+R"),
"actionCenter": ("Center", "center.png", "Ctrl+K"),
"actionjustifi": ("justifi", "justify.png", "Ctrl+J"),
"actionFont": ("Font", "font.png", None),
"actionColor": ("Color", "color.png", None),
"actionAboyt_App": ("About App", "about.png", None),
}
for name, (label, image_name, shortcut) in actions.items():
action = QtGui.QAction(parent=MainWindow)
icon = QtGui.QIcon()
icon.addPixmap(
QtGui.QPixmap(f":/images/{image_name}"),
QtGui.QIcon.Mode.Normal,
QtGui.QIcon.State.Off,
)
action.setIcon(icon)
action.setObjectName(name)
action.setText(label)
if shortcut:
action.setShortcut(shortcut)
setattr(self, name, action)
# Раскладываем команды по меню так же, как в исходном интерфейсе.
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())
for action_name in (
"actionNew", "actionCopes", "actionSave", "actionPrint_2",
"actionPrint", "actionExport_PDF", "actionQuite", "actionUndo",
"actionRedo",
):
self.toolBar.addAction(getattr(self, action_name))
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"))
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())