Qt QMessageBox按鈕中文顯示


轉自:https://blog.csdn.net/Carl_Qi/article/details/83998889

QMessageBox是Qt框架下專門用於彈出對話框的類,一般會提供幾個按鈕(例如:Ok、Cancel、Yes、No、Ignore等)供用戶點擊選擇。對話框的按鈕在默認情況下為英文顯示,本文提供了一種簡單快速的修改為中文的方法。

 1 // 創建一個question彈出對話框,添加兩個按鈕:Yes和No
 2 QMessageBox *msgBox = new QMessageBox(QMessageBox::Question, tr("對話框標題"), tr("對話框內容"), QMessageBox::Yes | QMessageBox::No);
 3 
 4 // 將原本顯示“Yes”的按鈕改為顯示“是”
 5 msgBox->button(QMessageBox::Yes)->setText("");
 6 
 7 // 將原本顯示“No”的按鈕改為顯示“否”
 8 msgBox->button(QMessageBox::No)->setText("");
 9 
10 // 彈出對話框
11 msgBox->exec();

 

 

 溫馨小提示:上述方法是將默認的英文按鈕改為中文按鈕,其實完全可以任意自定義按鈕的顯示,例如在制作一個音樂播放器軟件時,當音樂播放停止后,自動彈出對話框,用戶點擊“Play”按鈕則選擇繼續播放,用戶點擊“Stop”按鈕則停止播放,就可以用下面的程序實現。

 1 // 創建一個question彈出對話框,添加兩個按鈕:Yes和No
 2 QMessageBox *msgBox = new QMessageBox(QMessageBox::Question, tr("對話框標題"), tr("對話框內容"), QMessageBox::Yes | QMessageBox::No);
 3 
 4 // 將原本顯示“Yes”的按鈕改為顯示“Play”
 5 msgBox->button(QMessageBox::Yes)->setText("Play");
 6 
 7 // 將原本顯示“No”的按鈕改為顯示“Stop”
 8 msgBox->button(QMessageBox::No)->setText("Stop");
 9 
10 // 啟動對話框,用res變量記錄用戶最終點選的按鈕
11 int res = msgBox->exec();
12 if(QMessageBox::Yes == res)
13     Play();        // 繼續播放
14 else if(QMessageBox::No == res)
15     Stop();        // 停止播放
16 else
17     ...

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM