ラズパイデスクトップでPyQt5入門(5)Toolbar,メニューのまとめ
こんにちは。國松です。
今回はPyQt5でツールバーの作成とメニューバー、ステータスバー、ステータスバーのまとめをしていきたいと思います。
参考サイト
ZetCode PyQt5 tutorial
【PythonでGUI】PyQt5 -始めの一歩-
6.Toolbar
ツールバーとは、ソフトウェアの操作画面の上部などに表示される、ボタンやアイコン、操作メニュー等が並んだ横長の帯状の領域。現在利用できる機能を一覧し、即座に呼び出すことができる。(IT用語辞典e-Wordsより)
今回はツールバーとツールバーにアクションオブジェクトを作成してきます。
アクションオブジェクトにはラベル,アイコン,ショートカットがあります。アクションアブジェクトのアイコンをクリックもしくはCtrl+Qでアプリケーションを終了させます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | #!/usr/bin/python3 #coding: utf-8 """ This program create a toolbar The toolbar has one action which terminates the application, if triggered. """ import sys from PyQt5.QtWidgets import QMainWindow, QAction, qApp, QApplication from PyQt5.QtGui import QIcon class Example(QMainWindow): def __init__(self): super().__init__() self.initUI() def initUI(self): #画像付き吹き出しをExit(終了)にするアクションオブジェクトを作成 exitAct = QAction(QIcon('momo.png'),'Exit',self) exitAct.setShortcut('Ctrl+Q') exitAct.triggered.connect(qApp.quit) #ツールバーを作成 self.toolbar = self.addToolBar('Exit') self.toolbar.addAction(exitAct) self.setGeometry(300,300,300,200) self.setWindowTitle('Toolbar') self.show() if __name__ == '__main__': app =QApplication(sys.argv) ex = Example() sys.exit(app.exec_()) |
7,Putting it together
今まで学んできたメニュバー,ツールバー,ステータスバーをまとめて作成していきます。またテキスト入力のウィジェットも作成していきます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | #!/usr/bin/python3 # coding: utf-8 """ This program creates skeleton of a alassic GUI application with a menuber,toolbar,statusbar, and a central widget """ import sys from PyQt5.QtWidgets import QMainWindow, QTextEdit, QAction, QApplication from PyQt5.QtGui import QIcon class Example(QMainWindow): def __init__(self): super().__init__() self.initUI() def initUI(self): #テキスト編集ウィジェットの作成 textEdit = QTextEdit() #作成したウィジェットをQmainWindowの中心に配置 self.setCentralWidget(textEdit) exitAct = QAction(QIcon('exit.png'),'Exit',self) exitAct.setShortcut('Ctrl+Q') exitAct.setStatusTip('Exit application') exitAct.triggered.connect(self.close) self.statusBar() menubar = self.menuBar() fileMenu = menubar.addMenu('&File') fileMenu.addAction(exitAct) toolbar = self.addToolBar('Exit') toolbar.addAction(exitAct) self.setGeometry(300,300,350,250) self.setWindowTitle('Main window') self.show() if __name__ == '__main__': app = QApplication(sys.argv) ex =Example() sys.exit(app.exec_()) |
次回からはPyQt5のLayout managemsntを見ていきたいと思います。