Поменять название кнопки в QMessageBox
result = QtWidgets.QMessageBox.question\
(self, "Выход","Вы действительно хотите выйти?",
QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No,
QtWidgets.QMessageBox.No)
В таком виде кнопки выводятся на английском языке, мне нужно чтобы были на русском, а переименовать стандартные кнопки нельзя. Как это сделать?
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
Попробуйте так:
import sys
from PyQt5.QtWidgets import QWidget, QMessageBox, QApplication
from PyQt5.QtGui import QIcon
class Example(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle('Message box')
def closeEvent(self, event):
msg = QMessageBox(self)
msg.setWindowIcon(QIcon("im.png"))
msg.setWindowTitle("Выход")
msg.setIcon(QMessageBox.Question)
msg.setText("Вы действительно хотите выйти ?")
buttonAceptar = msg.addButton("Да хочу", QMessageBox.YesRole)
buttonCancelar = msg.addButton("Отменить", QMessageBox.RejectRole)
msg.setDefaultButton(buttonAceptar)
msg.exec_()
if msg.clickedButton() == buttonAceptar:
event.accept()
elif msg.clickedButton() == buttonCancelar:
event.ignore()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
ex.show()
sys.exit(app.exec_())
