qt开发入门简介 一步一步学习Qt开发
qt开发入门简介 一步一步学习Qt开发
2024-11-24 09:07:13  作者:妈苊吢痌  网址:https://m.xinb2b.cn/life/xzj441457.html

实现多国语言切换的方法:

首先点击菜单 QT5 --> Create new Translation File,需要注意的是必须要选中工程的任何一个地方(即左边 Solution 中树形结构的工程位置),否则菜单是灰色不能点击状态的。




我们创建两个翻译文件:

helloworld_zh.ts

helloworld_en.ts

如果只需要中文的话,只需要创建 helloworld_zh.ts 即可。


大分辨率的图片会被头条降低质量,如果看不清楚的话,以下是分别截取的两个小图片:



保存并关闭 UI 设计师,回到工程,我们分别右键两个翻译文件,点击“lupdate”:


双击 helloworld_en.ts 或 helloworld_zh.ts,默认会调用 Qt 语言家打开相应文件:


在 1 的地方输入译文,点击 2 表示完成翻译,最后不要忘记点击“保存”。我只对标题 HelloWorld 作了中英文区别翻译,英文是:Hello World,中文是:你好 世界,而按钮 Chinese 与 English 无论是英文翻译包还是中文翻译包,都分别是:“中文”与“English”。保存退出后,还需要分别对两个翻译源文件调用“lrelease”:


调用 lrelease 后,会对 *.ts 文件翻译为相应的 Qt 翻译文件格式 *.qm:


我们可以使用记事本等文本文件打开 *.ts 文件,实际上它是 XML 文件:


下面我们先来实现程序启动的时候默认是中文的,main 函数修改成:

QTextCodec::setCodecForLocale(QTextCodec::codecForName("GB18030"));

QApplication a(argc, argv);

QTranslator* translator = new QTranslator();

translator->load("helloworld_zh.qm");

a.installTranslator(translator);

HelloWorld w;

w.show();

return a.exec();

需要 include 两个头文件:

#include <QTextCodec>

#include <QTranslator>

编译运行:


我们需要实现的是点击按钮动态切换语言,“点击事件”涉及到一个很重要的功能:“信号/槽”,我们将在下一篇文章介绍,现在一起来实现鼠标点击事件,如果暂时不理解代码,欢迎查看下一篇文章。

打开 helloworld.h,添加两个函数(注意:需要在 private 后面添加 slots):

private slots:

void chinese();

void english();

在 private: 下面增加两个变量:

private:

QTranslator* trsChinese_;

QTranslator* trsEnglish_;

打开 helloworld.cpp,在构造函数中 ui.setupUi(this); 的后面增加:

trsChinese_ = new QTranslator();

trsEnglish_ = new QTranslator();

trsChinese_->load("helloworld_zh.qm");

trsEnglish_->load("helloworld_en.qm");

connect(ui.btnChinese, SIGNAL(clicked()), this, SLOT(chinese()));

connect(ui.btnEnglish, SIGNAL(clicked()), this, SLOT(english()));

函数 chinese() 与 english() 的实现如下:

void HelloWorld::chinese()

{

qApp->installTranslator(trsChinese_);

ui.retranslateUi(this);

}

void HelloWorld::english()

{

qApp->installTranslator(trsEnglish_);

ui.retranslateUi(this);

}

最终的代码图片如下:



编译运行,我们就可以实现动态切换语言啦。

  • 可以搭配白球鞋的西裤(竟然是西裤配球鞋)
  • 2024-11-25竟然是西裤配球鞋在传统的印象里,西裤只是正式、严肃的代名词,将正装穿出潮范儿想都不敢想如果时光倒回到10年前,西裤配球鞋,真是要让人笑掉大牙的装扮,要多土有多土!不过风水轮流转,不知不觉,这种simpleandchi。
  • q弹爽口的椰汁马蹄千层糕 家常爽口椰汁千层马蹄糕
  • 2024-11-25q弹爽口的椰汁马蹄千层糕 家常爽口椰汁千层马蹄糕用料椰浆800克红糖5片,约400克马蹄粉500克清水8碗,约250g一碗家常爽口椰汁千层马蹄糕的做法先来一个全家福先喇红糖先用水冲洗一下,然后用5碗水煮煮红糖期间,用2碗水开粉,用来放糖水里面粉浆最。
  • 什么狗容易长胖(要注意了这5种容易)
  • 2024-11-25要注意了这5种容易很多铲屎官都喜欢胖胖的小狗,觉得这样子更可爱了可是“发胖”的小狗容易引起各种疾病所以铲屎官们要注意了!以下这些狗狗容易“发胖”,如果有你家的,要好好控制体重1、拉布拉多拉布拉多被很多网友戏称为“拉不拉。
  • 孔子为什么可以成为圣人(为什么说孔子是)
  • 2024-11-25为什么说孔子是孔子当然是个很和蔼的老头儿,但和蔼的老头儿多的是我们为什么要把这个老头儿的地位抬得那么高呢?01说到孔子,大家都非常熟悉本来以为,关于孔子,已经没什么新鲜内容可说的了,没想到,杨照先生在《论语——所有。
  • 秋天的句子有哪些(秋天的句子具体有哪些)
  • 2024-11-25秋天的句子具体有哪些秋天,叶子一片片落下,带着一丝丝的遗憾,投向大地母亲的怀抱她们跳跃着,旋转着,轻舞飞扬着,翩然落下多明媚的秋天哪,这里,再也不是焦土和灰烬,这是千万座山风都披着红毯的旺盛的国土那满身嵌着弹皮的红松,仍。
  • 忍者必须死三新赛季更新(忍者必须死310月14号更新)
  • 2024-11-25忍者必须死310月14号更新相信小伙伴们对于火柴人的游戏,已经见过太多太多了,彼此之间都已经不再陌生而这款游戏作为一款火柴人式的跑酷战斗类型的手游,相信已经伴随了小伙伴们很多的时光了吧!而且不仅仅是每一个系列之中,不断地做出延伸。
  • 努力把规划的蓝图变成实景图(来了规划师画)
  • 2024-11-25来了规划师画来源:【人民网】在浙江省台州市黄岩区屿头乡,有一个沙滩村沙滩村没有沙滩,有的是石板路、古樟树、老戏台……古韵悠然的街巷,绿水青山的环境,令人流连忘返前些年,沙滩村因异地重建新村,原有的老街、老屋逐渐破。
  • 2023款全新天籁什么时间上市(2023款运动天籁实拍)
  • 2024-11-252023款运动天籁实拍导读:2023款运动天籁实拍!预售16万搭载2.0T9AT,轿跑外观还看啥雅阁随着国内科技快速发展,人们的生活水平逐渐的提升,所以在日常生活中对于汽车的需求越来越高,导致了汽车市场的火爆,使得国产品牌。
  • ps4维修多长时间(国外在PS4维修费用列目里添加了)
  • 2024-11-25国外在PS4维修费用列目里添加了PlayStation4上市已经有一段时间了,对机子保养不太友好的玩家来说,PS4出现一些“小打小闹”的故障并不稀奇但是最近有修理商发现了一个问题,很多PS4的内部电源居然被蟑螂搞坏了根据国外媒体消息。
  • 电视剧绝密任务开机(电视剧绝密使命开机)
  • 2024-11-25电视剧绝密使命开机9月9日,大型革命历史题材电视剧《绝密使命》开机张金川摄9月9日,大型革命历史题材电视剧《绝密使命》开机张金川摄中新网福建永定9月9日电(记者张金川)大型革命历史题材电视剧《绝密使命》9日在福建省龙岩。