前言
搞QT嘛,大多数都是军工。都要国产化,而且消息对话框的按钮的英文也不是很得劲,所以需要汉化。使用静态函数的按钮就是显示英文,汉化的代码如下。
void Widget::on_pushButton_clicked()
{
QMessageBox box(QMessageBox::Information, QStringLiteral("提示"), QStringLiteral("是否保存?"));
box.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel);
box.button(QMessageBox::Ok)->setText(QStringLiteral("是"));
box.button(QMessageBox::Cancel)->setText(QStringLiteral("否"));
int button = box.exec();
if(button == QMessageBox::Cancel){
qDebug() << QStringLiteral("点击取消或者关闭");
}else{
qDebug() << QStringLiteral("点击是");
}
}
void Widget::on_pushButton_2_clicked()
{
QMessageBox box(QMessageBox::Information, QStringLiteral("提示"), QStringLiteral("是否保存?"));
//通过 QMessageBox::RejectRole QMessageBox::AcceptRole 可以控制按钮的位置
QPushButton *yesButton = box.addButton(QStringLiteral("是"), QMessageBox::RejectRole);
QPushButton *noButton = box.addButton(QStringLiteral("否"), QMessageBox::AcceptRole);
box.exec();
if(box.clickedButton() == yesButton){
qDebug() << QStringLiteral("是");
}else if(box.clickedButton() == noButton){
qDebug() << QStringLiteral("否");
}else{
qDebug() << QStringLiteral("点击关闭按钮了");
}
}
QmessageBox功能挺强大的,可以设置默认的按钮,也可以设置点击窗口的关闭按钮实际上点击的是那个按钮,默认情况下是 QMessageBox::cancel
设置默认按钮文章来源:https://www.toymoban.com/news/detail-692982.html
设置点击关闭按钮的返回值文章来源地址https://www.toymoban.com/news/detail-692982.html
到了这里,关于QT 消息对话框按钮显示的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!