Супер просто и легко создать настольное приложение, похожее на блокнот.
Это руководство начального уровня для тех, кто хочет изучить PyQt6 и начать работу. Я не буду объяснять все шаг за шагом, но если вам интересно, дайте мне знать, чтобы составить полное руководство.
Прежде чем погрузиться в код, обязательно скачайте pyqt6.
pip install PyQt6 import sys from PyQt6.QtWidgets import QApplication, QMainWindow, QTextEdit, QFileDialog, QMenuBar, QStatusBar, QToolBar from PyQt6.QtCore import QTextStream from PyQt6.QtWidgets import QWidgetAction class Notepad(QMainWindow): def __init__(self): super().__init__() # Set window properties self.setWindowTitle('Notepad') self.resize(400, 400) # Create text edit widget self.text_edit = QTextEdit(self) self.setCentralWidget(self.text_edit) # Create menu bar self.menu_bar = QMenuBar(self) self.setMenuBar(self.menu_bar) # Create file menu self.file_menu = self.menu_bar.addMenu('File') # Create open action self.open_action = self.file_menu.addAction('Open') self.open_action.triggered.connect(self.open_file) # Create save action self.save_action = self.file_menu.addAction('Save') self.save_action.triggered.connect(self.save_file) # Create status bar self.status_bar = QStatusBar(self) self.setStatusBar(self.status_bar) # Set window properties self.setWindowTitle('Notepad') self.resize(400, 400) # Create text edit widget self.text_edit = QTextEdit(self) self.setCentralWidget(self.text_edit) # Create menu bar self.menu_bar = QMenuBar(self) self.setMenuBar(self.menu_bar) # Create file menu self.file_menu = self.menu_bar.addMenu('File') # Create open action # self.open_action = QAction('Open', self) # self.open_action.triggered.connect(self.open_file) # Add open action to file menu self.file_menu.addAction(self.open_action) # Create save action # self.save_action = QAction('Save', self) # self.save_action.triggered.connect(self.save_file) # Add save action to file menu self.file_menu.addAction(self.save_action) # Create toolbar self.tool_bar = QToolBar(self) self.addToolBar(self.tool_bar) # Add open action to toolbar self.tool_bar.addAction(self.open_action) # Add save action to toolbar self.tool_bar.addAction(self.save_action) def open_file(self): options = QFileDialog.Options() options |= QFileDialog.ReadOnly file_name, _ = QFileDialog.getOpenFileName(self, 'Open File', '', 'All Files (*);;Text Files (*.txt)', options=options) if file_name: with open(file_name, 'r') as f: stream = QTextStream(f) self.text_edit.setPlainText(stream.readAll()) self.status_bar.showMessage(f'Opened {file_name}', 2000) def save_file(self): options = QFileDialog.Options() options |= QFileDialog.DontUseNativeDialog file_name, _ = QFileDialog.getSaveFileName(self, 'Save File', '', 'All Files (*);;Text Files (*.txt)', options=options) if file_name: with open(file_name, 'w') as f: stream = QTextStream(f) stream << self.text_edit.toPlainText() self.status_bar.showMessage(f'Saved {file_name}', 2000) app = QApplication(sys.argv) notepad = Notepad() notepad.show() sys.exit(app.exec())