2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Qt for Pythonで終了するだけのアプリケーションを作成

Posted at

タイトルの通り、Qt for Pythonを利用して、ウィンドウを表示して、メニューで「終了」を選択すると終了するアプリケーションを作成します。

環境構築

あらかじめQt for Pythonが対応するバージョンのPythonが導入されていることを前提とします。検証した環境ではPython 3.6が導入されています。

以下のコマンドでQt for Python(PySide2)を導入します。

pip install PySide2

ソースコード

from PySide2.QtWidgets import QApplication
from PySide2.QtWidgets import QMainWindow
from PySide2.QtWidgets import QMenu
from PySide2.QtWidgets import QAction
from PySide2.QtGui import QKeySequence

class MainWindow(QMainWindow):
    def __init__(self, app: QApplication):
        super(MainWindow, self).__init__()
        self.app = app
        self.setWindowTitle("サンプルプログラム")
        self.resize(400,200)
    
    def main(self) -> None:
        # 「終了」項目の作成
        exit_action = QAction('終了(&X)', self)
        # 「終了」項目が選択された場合に起動する関数を設定
        exit_action.triggered.connect(self.exit)
        # 「終了」項目を選択するショートカットキーを設定
        exit_action.setShortcut(QKeySequence("Ctrl+Q"))

        # 「ファイル」メニューを作成
        file_menu = QMenu("ファイル(&F)")
        # 「ファイル」メニューに「終了」項目を追加
        file_menu.addAction(exit_action)
        # 「ファイル」メニューをメニューバーに追加
        self.menuBar().addMenu(file_menu)
        self.show()
        self.app.exec_()
    
    def exit(self) -> None:
        self.close()
    
def main() -> None:
    app = QApplication()
    window = MainWindow(app)
    window.main()

if __name__ == '__main__':
    main()

起動方法

上記のソースコードを適当なファイル名で保存します。たとえばファイル名をmain.pyとすると、以下のコマンドで起動します。

python main.py

以下の画面が表示されます。
1.png

操作方法

以下のいずれかの方法でアプリケーションを終了します。

  1. マウスで「ファイル」メニューを選択して、開いたメニューから「終了」項目を選択すると、アプリケーションが終了します。
  2. alt+fで「ファイル」メニューを開いて、alt+xでアプリケーションが終了します。
  3. ctrl+qでアプリケーションが終了します。
2
4
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?