QMessageBox
の情報テキストに「はい」と「いいえ」ボタンのテキストを表示したいが、どのようにこれらのラベルを得ることができないのか分からないボタン。 setStandardButtons
を呼び出すことにより、QMessageBoxの標準ボタンからシステムデフォルトのラベルを取得
from PyQt5.QtWidgets import *
import sys
app = QApplication(sys.argv)
msgbox = QMessageBox()
msgbox.setStandardButtons(msgbox.Yes | msgbox.No)
info_text = "Click '{yes}' to confirm. Click '{no}' to abort."
msgbox.setInformativeText(info_text)
if msgbox.exec_() == msgbox.Yes:
print("Confirmed")
else:
print("Aborted")
、ボタンの順序とボタンのラベルは、現在のオペレーティングシステムのデフォルトと現在の言語設定に設定されます。文字列のスロットに使用できるようにこれらのデフォルト値を取得するにはどうすればよいですかinfo_text
?
QPushButton
オブジェクトのリストであるQMessageBox
オブジェクトのbuttons
属性を使用することを考えました。そこからラベルを読むことはできますが、リストの最初の要素がYes
かNo
ボタンかどうかを判断する方法がわかりません。