自學QT之實現QMessageBox的按鈕中文顯示

QT的信息框彈出來之後,每每按鈕都是英文的,而這個體驗不是很好。咱們須要實現的狀態如圖:函數

那麼如何實現呢?this

看到網上說用setbuttontext()方法,這個是不可行的,由於官方文檔有這麼一句話:spa

Sets the text of the message box button button to text. Setting the text of a button that is not in the message box is silently ignored..net

Use addButton() instead.code

這句話的意思說你用這個函數的時候,會被對話框默認忽略,請使用addbutton()函數來代替。blog

QMessageBox megBox;
    megBox.addButton("是",QMessageBox::AcceptRole);
    megBox.addButton("否",QMessageBox::RejectRole);
    megBox.setText("退出遊戲?");
   int ret= megBox.exec();
   switch(ret){
   case QMessageBox::AcceptRole:
       this->close();
       break;
   default:
       break;
      }


如上的代碼,實際上是給它添加了一個自定義的按鈕,同時捕獲用戶單擊的按鈕返回值,這樣,就能夠實現中文的按鈕啦。
遊戲

相關文章
相關標籤/搜索