PyQt5入門 PythonでGUI作成 - yu00’s blog
QPushButtonは普通のボタンです.
ボタンの作成
PyQt5.QtWidgets.QPushButton(text, parent=0)
文字がtextのボタンを作成します.
サンプルコード
#! /usr/bin/python3 # -*- coding: utf-8 -*- import sys from PyQt5.QtWidgets import QApplication, QWidget, QPushButton if __name__ == '__main__': app = QApplication(sys.argv) window = QWidget() button = QPushButton('button', window) window.show() sys.exit(app.exec_())
実行例
文字の変更
button.setText('my-text')
アイコンの設定
button.setIcon(QIcon('my-icon.png'))
シグナル:ボタンがクリックされた
QAbstractButton.clicked(checked = False)
シグナル:ボタンが押された
QAbstractButton.pressed()
シグナル:ボタンがはなされた
QAbstractButton.released()
シグナル:ボタンがトグルされた
QAbstractButton.toggled(checked)
ckecked:TrueかFalse.チェックされたときTrue
ボタンをトグル式にする
ボタンをクリックしたとき,押しっぱなしの状態になり,
次にクリックしたとき元に戻るようにするには,
setCheckable()を使います.
サンプルコード
ボタンが押された状態のときCheckedと表示し,
はなされた状態のときNot Checkedと表示するプログラムです.
#! /usr/bin/python3 # -*- coding: utf-8 -*- import sys from PyQt5.QtWidgets import QApplication, QWidget, QPushButton class MyWidget(QWidget): def __init__(self): super().__init__() self.init_ui() self.show() def init_ui(self): self.button = QPushButton('button', self) # トグル式にする self.button.setCheckable(True) # シグナル・スロットの設定 self.button.toggled.connect(self.slot_button_toggled) def slot_button_toggled(self, checked): """ ボタンがトグルされたときのスロット """ if checked: self.button.setText('Checked') else: self.button.setText('Not Checked') if __name__ == '__main__': app = QApplication(sys.argv) window = MyWidget() sys.exit(app.exec_())
実行例