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 ...