1. 程式人生 > >Python: PySide(PyQt)QMessageBox按鈕顯示中文

Python: PySide(PyQt)QMessageBox按鈕顯示中文

封裝 對話框 直接 side == tex urn 本地化 quest

習慣了Delphi、c#調用系統MessageBox本地化顯示,待用PySide調用時,Qt原生提示對話框,默認以英文顯示。

如何本地化呢?

參考些資料,加以摸索,實現所需效果。並可根據此思路,設計自己所需要的MessageBox封裝。

    QTextCodec.setCodecForTr(QTextCodec.codecForName("UTF-8"))
    box = QMessageBox(QMessageBox.Question, self.tr("提示"), self.tr("您確定要退出嗎?"), QMessageBox.NoButton, self)
    yr_btn 
= box.addButton(self.tr(""), QMessageBox.YesRole) box.addButton(self.tr(""), QMessageBox.NoRole) box.exec_() if box.clickedButton() == yr_btn: print Bye bye... return else: print 繼續...

直接以.exec_()判斷,[是]按鈕返回0,尚不知如何與QMesageBox.YesRole對應,繼續尋求方法。

技術分享圖片

Python: PySide(PyQt)QMessageBox按鈕顯示中文