版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
工作需要,使用Qt写了一个简单的文本编辑器。但是要求英文化,所以菜单、工具栏等内容,均使用了英文。但是在使用Qt自带的标准文件打开对话框QFileDialog时,显示的状态如下:
对于这个问题(可能有的人已经解决了),在网上搜了很多资料,都没有解决。之前用的办法有:
1、在qt_zh_CN.ts文件中,修改了所有关于QFileDialog的中英文对照,修改为英英对照,重新生成qm文件,并加载,但是没有解决问题。
2、使用QLacal设置了语言和国家,还是没有解决问题。不知道是不是自己的操作系统是win7中文版导致的?
3、搜索到了这样一篇文章一个很久的帖子(试了其中的方法),试了其中的方法,还是没有解决。
划重点了:解决不了的问题,还是得靠Qt帮助文档。在QFileDialog看到了这个enu枚举型变量:
有了这个,再次在帮助文档里面,搜索了这个枚举值的用处。找到了这个函数:
函数功能,文档中说的很清楚:设置QFileDialog中特殊Label的Text内容。
对应的get函数,可以获取Label的内容:
好了,有了上述的知识点,代码修改如下:
openFileDialog->setLabelText(QFileDialog::FileName, "File Name:");//英文化文件名称
openFileDialog->setLabelText(QFileDialog::Reject, tr("Cancel"));//英文化取消按钮
openFileDialog->setLabelText(QFileDialog::Accept, "Open");//英文化打开按钮
运行显示结果如下:
为啥取消按钮,还是没有显示成功呢?