PyQt5で始めるGUIプログラミング

GUIプログラミング入門

てきとうなuiファイル(test.ui)を作成して,以下のコードを実行すれば,こんな感じのGUIが簡単に作成できます.f:id:ya10345:20190614220536p:plain

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import sys, os
from PyQt5 import QtCore, QtMultimedia, uic
from PyQt5.QtWidgets import *
from PyQt5.QtGui import QIcon

# -------------------------------------GUI描画 ----------------------------------------------------------
class MainMenu(QWidget):
    def __init__(self, parent=None):
        super(MainMenu, self).__init__()

        ui_file = uic.loadUiType("test.ui", self)[0]
        self.ui = ui_file()
        self.ui.setupUi(self)
        
        # クリックイベント
        self.ui.pose_init.clicked.connect(self.button_clicked)
        self.ui.start_moving.clicked.connect(self.button_clicked)
        self.ui.publish.clicked.connect(self.button_clicked)
        self.ui.excute.clicked.connect(self.button_clicked)
        self.ui.go_home.clicked.connect(self.button_clicked)
        self.ui.quit.clicked.connect(self.button_clicked)

        # ボタンのクリック音の設定
        self.mediaPlayer = QtMultimedia.QMediaPlayer(self)
        self.app_root = os.path.abspath(os.path.dirname(sys.argv[0]))
        sound=QtMultimedia.QMediaContent(QtCore.QUrl.fromLocalFile(os.path.join(self.app_root,"click.wav")))
        self.mediaPlayer.setMedia(sound)


    # クリック処理
    def button_clicked(self):
        self.mediaPlayer.stop()
        self.mediaPlayer.play()

# ---------------------------- メイン関数 ----------------------------------------------------------
def main():
    app = QApplication([])
    window = MainMenu()
    window.show()
    sys.exit(app.exec_())
    
# -------------------------- プログラム開始点 -------------------------------------------------------
if __name__ == '__main__':
    main()