• 13935阅读
  • 12回复

[提问]【提问】Qt 4.0.1中的对话框中文化? [复制链接]

上一主题 下一主题
离线80437
 
只看楼主 倒序阅读 楼主  发表于: 2005-10-20
— 本帖被 XChinux 从 Qt基础编程 移动到本区(2013-04-01) —
Qt自带的几个对话框中,QFileDialog可以设置对话框中的Label的文本,而其它的入QFontDialog和QColorDialog则没有这个功能,看了一下源码,QFileDialog中的实现方法是提供一个函数,修改他的一个私有类中QLabel的text值。但是在QFontDialog和QColorDialog中就没有提供这个函数。

可以自己继承一个再实现吗?或者是直接在QFontDialog中增加一个函数呢?

怎么做好一些?
[ 此贴被XChinux在2005-10-21 09:43重新编辑 ]
离线XChinux

只看该作者 1楼 发表于: 2005-10-20
对话框的中文化,这个问题我查看了一下源代码,确实不好修改。
现在有这样一种方法,挺简单的:

比如说,QColorDialog的与文字相关的部分,主要在qcolordialog.cpp文件中,我们可以从qcolordialog.cpp用lupdate生成一个ts文件,然后用自定义这个ts文件的翻译,再用lrelease生成一个.qm文件,当然了,主程序就要改变要支持多国语言了,使用这个.qm文件就可以了。

说简单也挺简单的,呵呵。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线80437
只看该作者 2楼 发表于: 2005-10-20
也是个办法,倒是可以一试。把测试的结果发上来。
离线80437
只看该作者 3楼 发表于: 2005-10-20
完全可以,版主的办法不错。
离线XChinux

只看该作者 4楼 发表于: 2005-10-20
你整理一下把结果发上来吧,我的系统不能发附件和写大段的文字。呵呵。有劳了。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线80437
只看该作者 5楼 发表于: 2005-10-20
首先用以下命令把QFontDialog和QColorDialog中的文字提取出来:

lupdate D:\Qt\4.0.1\src\gui\dialogs\qfontdialog.cpp D:\Qt\4.0.1\src\gui\dialogs\qcolordialog.cpp mainwindow.cpp -ts cdialog.ts

然后将所有的文本翻译好后,发布(lrelease)。就可以看到中文的对话框了。
例子见附件。

编译环境是Qt 4.0.1 + Mingw32 + WinXP
附件: cdialog.rar (16 K) 下载次数:72
离线springmagus

只看该作者 6楼 发表于: 2005-10-26
我也借助这个帖子问一个相关问题吧,我用的是FC3,
我在程序里需要用到带路径的中文文件名,当然对话框用的是QFileDialog的getFileNames,
结果老是出错,程序退出,难道要设置什么吗?
离线sky_hao

只看该作者 7楼 发表于: 2005-10-26
我最近也在研究这个呢,谢谢了啊!
离线tdrhsb
只看该作者 8楼 发表于: 2005-10-26
中文化的一般方法:
1对example.pro进行lupdate ,lupdate example.pro,必须保证pro文件里面这个选项
TRANSLATIONS = example.ts
2对生成的example.ts进行翻译
3lrelease exmaple.ts或lrelease example.pro
最后生成exmaple.qm文件。
离线amidiot
只看该作者 9楼 发表于: 2006-05-27
不用自己翻译吧
qt已经自带了简体中文的ts和qm文件了。

方法一:程序启动时除了读取本身的多语言支持文件,还读取并加载qt自带的qt_zh_CN.qm。

方法二:把qt自带的qt_zh_CN.ts与程序本身的ts文件和在一起,都是xml,很好办。

这样既不用自己翻译,又能保证把所有的对话框都中文化了
离线XChinux

只看该作者 10楼 发表于: 2006-05-28
引用第9楼amidiot2006-05-27 19:38发表的“”:
不用自己翻译吧
qt已经自带了简体中文的ts和qm文件了。
方法一:程序启动时除了读取本身的多语言支持文件,还读取并加载qt自带的qt_zh_CN.qm。
.......


Qt4刚开始发布时,是没有加进那个简体中文的ts,qm文件的。是后来才加进去的。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线yangmiao322
只看该作者 11楼 发表于: 2006-07-20
请问在qt3中怎么解决啊?
离线yfx2003

只看该作者 12楼 发表于: 2008-07-02
引用第9楼amidiot于2006-05-27 19:38发表的  :
方法一:程序启动时除了读取本身的多语言支持文件,还读取并加载qt自带的qt_zh_CN.qm。


如何同时加载两个qm文件?
好像……
www.qtcn.org/gpq4/
ajaxref.okajax.com/
快速回复
限100 字节
 
上一个 下一个