大阪市中央区 システムソフトウェア開発会社

営業時間:平日09:15〜18:15
MENU

ラズパイデスクトップでPyQt5入門(5)Toolbar,メニューのまとめ

著者:國松亜紗子
公開日:2019/09/14
最終更新日:2019/09/14
カテゴリー:技術情報

こんにちは。國松です。
今回はPyQt5でツールバーの作成とメニューバー、ステータスバー、ステータスバーのまとめをしていきたいと思います。

参考サイト
ZetCode PyQt5 tutorial
【PythonでGUI】PyQt5 -始めの一歩-

6.Toolbar
ツールバーとは、ソフトウェアの操作画面の上部などに表示される、ボタンやアイコン、操作メニュー等が並んだ横長の帯状の領域。現在利用できる機能を一覧し、即座に呼び出すことができる。(IT用語辞典e-Wordsより) 

今回はツールバーとツールバーにアクションオブジェクトを作成してきます。
アクションオブジェクトにはラベル,アイコン,ショートカットがあります。アクションアブジェクトのアイコンをクリックもしくはCtrl+Qでアプリケーションを終了させます。

#!/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
今まで学んできたメニュバー,ツールバー,ステータスバーをまとめて作成していきます。またテキスト入力のウィジェットも作成していきます。

#!/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を見ていきたいと思います。

    上に戻る