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