在Qt中经常用QMessageBox显示一些临时信息,调用的代码如下。但是,两个按钮却是英文的:
int result = QMessageBox::information(this->qMGWindow,QObject::tr("提示"),QObject::tr("显示信息!"),QMessageBox::Yes,QMessageBox::No);
在网上,有一些解决方法,但是过于麻烦,无意中发现采用下面的代码能够实现中文显示:
int result = QMessageBox::information(this->qMGWindow,QObject::tr("提示"),QObject::tr("显示信息!"),QObject::tr("确定"),QObject::tr("取消"));
这样虽然可以实现QMessageBox的按钮显示中文,但是会对对话框的执行结果造成影响,对话框无法再判断出执行结果,无意中找到下面的代码能够让对话框正确识别哪一个按钮被点击:
int result = QMessageBox::information(dialog,QObject::tr("提示"),information,QObject::tr("确定"),QObject::tr("取消"));if (result == QObject::tr("确定").toInt()){ } else if (result == QObject::tr("取消").toInt()){ }