Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab8 / Лекция 8. Объектно-ориентированный подход к разработке кода на Python.pdf
Скачиваний:
1
Добавлен:
30.05.2025
Размер:
1.79 Mб
Скачать

PyQt: СОЗДАНИЕ МЕНЮ И ДЕЙСТВИЯ

QAction – абстрактный класс для действий, выполняемых из меню, панели инструментов или с помощью комбинации клавиш; QMenu – готовыйвиджетменю

import sys

from PyQt5.QtWidgets import QApplication, QMainWindow, QAction, qApp

class MainWindow(QMainWindow): def __init__(self):

super().__init__() self.resize(350, 150)

self.setWindowTitle(’PyQt5 MainWindow’)

actExit = QAction(’&Exit’, self) actExit.setShortcut(’Ctrl+Q’) menubar = self.menuBar()

fileMenu = menubar.addMenu(’&File’) fileMenu.addAction(actExit) actExit.triggered.connect(qApp.quit) self.show()

if __name__ == ’__main__’:

app = QApplication(sys.argv) 26 win = MainWindow()

app.exec()

PyQt: СТРОКА СОСТОЯНИЯ И ПАНЕЛЬ ИНСТРУМЕНТОВ

Добавлениестрокисостояния, панелиинструментов ииконки:

import sys

from PyQt5.QtWidgets import QApplication, QMainWindow, QAction, qApp from PyQt5.QtGui import QIcon

class MainWindow(QMainWindow): def __init__(self):

super().__init__() self.resize(350, 150)

self.setWindowTitle(’PyQt5 MainWindow’)

actExit = QAction(Qicon(’sun_java.png’), ’&Exit’, self)

. . .

actExit.triggered.connect(qApp.quit) self.statusBar().showMessage(Ready) self.toolbar = self.addToolBar(Main) self.toolbar.addAction(actExit)

self.show()

if __name__ == ’__main__’:

app = QApplication(sys.argv) win = MainWindow() app.exec()

27

PyQt: РАЗМЕЩЕНИЕ ВИДЖЕТОВ И ДИАЛОГОВЫЕ ОКНА

Размещениетекстового полявкачествецентральноговиджетаииспользованиестандартногодиалоговогоокна:

import sys

QTextEdit, QFileDialog

from PyQt5.QtWidgets import QApplication, QMainWindow, QAction, qApp,

from PyQt5.QtGui import QIcon

 

class MainWindow(QMainWindow):

 

 

def __init__(self):

 

 

. . .

 

 

actOpen = QAction(’&Open’, self)

 

 

actExit = QAction(Qicon(’sun_java.png’), ’&Exit’, self)

 

 

actExit.setShortcut(’Ctrl+Q’)

 

 

menubar = self.menuBar()

 

 

fileMenu = menubar.addMenu(’&File’)

 

 

fileMenu.addAction(actOpen)

 

 

fileMenu.addAction(actExit)

 

 

actExit.triggered.connect(qApp.quit)

 

 

actOpen.triggered.connect(self.OnFileOpen)

 

 

self.text = QTextEdit()

 

 

self.setCentralWidget(text)

 

 

. . .

 

 

def OnFileOpen(self):

 

 

fname = QFileDialog.getOpenFileName(self, ’Open file’)

 

28

if fname[0]:

 

f = open(fname[0], ’r’)

 

 

self.text.setText(’File ’ + fname[0] + ’is loaded’)

 

Лабораторная работа №8