pyqt5でメニューバーに表示される文字を変化させたい
pyqt5でメニューバーに表示されるテキストを後から変化させたいです。最終的にメニューバーから英語版と日本語版に切り替えられるようにすることが目標です。以下は試しに書いてみたコードです。
import sys
from PyQt5 import QtWidgets
class MainWindow(QtWidgets.QMainWindow):
def __init__(self, parent=None):
super().__init__(parent)
self.email_blast_widget = EmailBlast(parent=self)
self.setCentralWidget(self.email_blast_widget)
bar = self.menuBar()
self.file_menu = bar.addMenu('File')
self.open_action = QtWidgets.QAction('日本語', self, checkable=True)
self.open_action2 = QtWidgets.QAction('英語', self, checkable=True)
self.file_menu.addAction(self.open_action)
self.file_menu.addAction(self.open_action2)
self.open_action.triggered.connect(self.check)
self.open_action2.triggered.connect(self.check2)
def check(self):
self.open_action.setText("日本語")
self.open_action2.setText("英語")
def check2(self):
self.open_action.setText("japanese")
self.open_action2.setText("english")
class EmailBlast(QtWidgets.QWidget):
def __init__(self, parent=None):
super().__init__(parent)
# create and set layout to place widgets
layout = QtWidgets.QHBoxLayout(self)
self.btn1 = QtWidgets.QPushButton('ボタン')
layout.addWidget(self.btn1)
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
# creating main window
mw = MainWindow()
mw.show()
#sys.exit(app.exec_())
app.exec_()
これを実行することで次のようなGUIが作成されます。
ここで、メニューバーのFileから表示される「日本語」,「英語」というメニューを押すことで、メニューバー全体の表示を日本語、英語に変えたいです。しかし、Fileという文字を変化させる方法が分かりません。