`
izuoyan
  • 浏览: 8929704 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Qt 实现分割窗口并国际化

阅读更多

哈尔滨理工大学软件工程专业08-7李万鹏原创作品,转载请标明出处

http://blog.csdn.net/woshixingaaa/archive/2010/08/10/5802312.aspx

Qt中提供了QSqlitter类实现分割窗口,分割窗口可以灵活分布窗口的布局,经常用于类似文件管理器的窗口设计中。Qt中提供QTranslator类和QLinguist工具进行国际化。本实例实现一个分割窗口,并国际化。

国际化前 国际化后

创建QSlitter的对象, 首先是横向的主分割窗口(Qt::Horizontal),再创建一个右部分割窗口(Qt::Vertical),然后将3个QTextEdit对象装进各个窗口中,setAlignment()方法用来设定QTextEdit中文字的对齐方式。

Qt::AlignLeft:左对齐

Qt::AlignRight:右对齐

Qt::AlignCenter:文字居中

Qt::AlignUp:文字与顶端对齐

Qt::AlignBottom:文字与底部对齐

setOpaqueResize(bool)用来设定分割窗口的分割条移动时是否是实时更新显示,若设为true则实时更新显示,若设为false则在拖动时只显示一条灰色的粗线条。setStretchFactor()方法用于设定可伸缩控件,它的第一个参数指定设置的控件序号,控件序号按插入的先后次序从0起依次编号,第二个参数大于0表示此控件为可伸缩控件,当整个对话框的宽度发生变化时,左部的文本编辑框宽度保持不变,右部的分割框宽度随整个对话框大小的改变进行调整。

下面开始国际化,所谓国际化,不仅仅是将界面上的各种文字翻译成另外的语言,还有一些是要进行书写方式和货币等的转化。比如,阿拉伯书写时从右向左的,这些在国际化中是必须完成的。

首先,我们要在pro中增加一行


myApp.ts是要创建的翻译文件,这个名字是任意的,不过后缀名需要的是ts。然后我们打开命令提示符,进入工程所在目录,也就是我的目录 Qt/9,然后输入

如果出现如下效果,说明ts文件创建成功

最后一行是说3个需要翻译,0个已经存在,也就是说,这个文件是新建的。你可以在工程中找到这个ts文件,可以用记事本打开这个文件,这个文件实际上是一个XML文件。我们用专业的工具Linguist打开ts文件。

然后进行翻译工作,完成翻译后保存。然后菜单下有个发布,点击它,工程文件夹下会有个myApp.qm文件,这就是我们翻译得到的文件,Qt 的qm文件是二进制格式的,因此他经过了高度优化,体积很小。再看一下这段代码:

首先创建一个QTranslator的对象,然后加载qm文件,也就是那个我们翻译后得到的二进制文件,然后把这个对象安装到QApplication中,重新编译,哈哈,大功告成。到此为止,如果觉得好请鼓励以下,不容易阿。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics