• 5466阅读
  • 5回复

内建对话框的控件怎么改文本? [复制链接]

上一主题 下一主题
离线yangfanxing
 
只看楼主 倒序阅读 楼主  发表于: 2009-11-26
比如说
QMessageBox::critical(this, QObject::tr("警告!"), QObject::tr("请正确输入!"));
我要把显示的OK按钮文本改为“确定”,怎么获得OK的指针?
PHPWind好恶心。。。不想看这种界面。。。
离线dbzhang800

只看该作者 1楼 发表于: 2009-11-26
代码中最好不要用中文,用Qt的tr机制 通过 翻译包提供多语言支持。而Qt内建的部件,一般都提供了多语言翻译包了,需要时可以直接使用
离线yangfanxing
只看该作者 2楼 发表于: 2009-11-26
引用第1楼dbzhang800于2009-11-26 20:58发表的  :
代码中最好不要用中文,用Qt的tr机制 通过 翻译包提供多语言支持。而Qt内建的部件,一般都提供了多语言翻译包了,需要时可以直接使用


这个我懂。可是这是项目的需要,我也没办法~~~必须都是中文界面啊~~~
PHPWind好恶心。。。不想看这种界面。。。
离线wd007

只看该作者 3楼 发表于: 2009-11-26
这个可以吧:

QMessageBox msgBox;
QPushButton *connectButton = msgBox.addButton(tr("Connect"), QMessageBox::ActionRole);
QPushButton *abortButton = msgBox.addButton(QMessageBox::Abort);

msgBox.exec();

if (msgBox.clickedButton() == connectButton) {
     // connect
} else if (msgBox.clickedButton() == abortButton) {
     // abort
}
欢迎访问我的博客,一起学习提高
http://blog.csdn.net/qter_wd007
离线yangfanxing
只看该作者 4楼 发表于: 2009-11-26
引用第3楼wd007于2009-11-26 21:06发表的  :
这个可以吧:
QMessageBox msgBox;
QPushButton *connectButton = msgBox.addButton(tr("Connect"), QMessageBox::ActionRole);
QPushButton *abortButton = msgBox.addButton(QMessageBox::Abort);
.......


好的~
PHPWind好恶心。。。不想看这种界面。。。
离线wd007

只看该作者 5楼 发表于: 2009-11-26
另外,1楼的说法与你的用途并不矛盾,用国际化的方法,可以不在代码中出现中文字符,而可以本地化为任何支持的语言在界面上显示,包括中文。

我也建议尽量不要在代码中出现中文。
欢迎访问我的博客,一起学习提高
http://blog.csdn.net/qter_wd007
快速回复
限100 字节
 
上一个 下一个