2016-03-09 4 views
1

Я хочу использовать QMessageBox.Question для значка. Но я хочу изменить текст стандартных кнопок. Я не хочу, чтобы текст кнопок был «Да» и «Нет». Я хочу, чтобы они были «Evet» и «Iptal». Вот мои коды.QMessageBox изменить текст стандартной кнопки

choice = QtGui.QMessageBox.question(self, 'Kaydet!', 
            'Kaydetmek İstediğinize Emin Misiniz?', 
            QtGui.QMessageBox.Yes | QtGui.QMessageBox.No) 
+0

На самом деле, теперь я решить эту проблему, как этот выбор = QtGui.QMessageBox.question (я, «Kaydet!», «Kaydetmek İstediğinize Emin Misiniz?», "Evet", button1Text = 'İptal', defaultButtonNumber = 0, escapeButtonNumber = -1) если выбор == 0: self.frame_11.show() еще: проход – Taylan

ответ

1

Qt предоставляет переводы для всех встроенных строк он использует в своих библиотеках , Вам просто нужно установить переводчик для текущей локали:

app = QtGui.QApplication(sys.argv) 

translator = QtCore.QTranslator(app) 
locale = QtCore.QLocale.system().name() 
path = QtCore.QLibraryInfo.location(QtCore.QLibraryInfo.TranslationsPath) 
translator.load('qt_%s' % locale, path) 
app.installTranslator(translator) 
+0

Отлично спасибо :) – Taylan

+0

Вы также можете проверить другие файлы, кроме «qt_% s». Например, моя установка Qt имела пустой qt_pl.qm, который не загружался, но у qtbase_pl.qm были все переводы, которые я хотел. Существуют и другие типы файлов перевода в каталоге 'TranslationsPath'. –

6

Для этого вам нужно создать экземпляр QMessageBox и вручную изменить текст кнопки:

box = QtGui.QMessageBox() 
box.setIcon(QtGui.QMessageBox.Question) 
box.setWindowTitle('Kaydet!') 
box.setText('Kaydetmek İstediğinize Emin Misiniz?') 
box.setStandardButtons(QtGui.QMessageBox.Yes|QtGui.QMessageBox.no) 
buttonY = box.button(QtGui.QMessageBox.Yes) 
buttonY.setText('Evet') 
buttonN = box.button(QtGui.QMessageBox.No) 
buttonN.setText('Iptal') 
box.exec_() 

if box.clickedButton() == buttonY: 
    # YES pressed 
elif box.clickedButton() == buttonN: 
    # NO pressed 
+0

Спасибо Daniele, оценят его – Taylan

Смежные вопросы