qt开发入门简介 一步一步学习Qt开发
qt开发入门简介 一步一步学习Qt开发
2024-11-22 12:10:16  作者:妈苊吢痌  网址:https://m.xinb2b.cn/tech/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-22三个月一次的黑庙漫游我,凉酒,帅,点赞关注本周周常是时空漫游——燃烧的远征燃烧的远征即70级副本,而去年添加了黑暗神殿团本时空漫游之后,每逢燃烧的远征时空漫游同样会开放黑暗神殿时空漫游:而黑暗神殿时空漫游关乎着蛋刀幻化,。
  • 纨绔子弟是什么词性(纨绔子弟中的纨绔)
  • 2024-11-22纨绔子弟中的纨绔#探究字词来源#纨绔(音同玩酷)俩字都是绞丝边,很明显这两字和织物有关那么织物怎么又和富二代联系起来了呢?原来啊,在赵武灵王胡服骑射之前,中国人是不穿裤子的(当然也不会有小内裤,穿内裤的历史更短)不是。
  • 量子生物学的起源(关于量子生物学的真实历史)
  • 2024-11-22关于量子生物学的真实历史世界上第一个量子生物学博士培训中心的创始人解释说:量子生物学作为一门年轻且日益流行的科学门类,并不像许多人认为的那样是一门新学科,它有着复杂而又有些黑暗的历史在英国皇家学会期刊《皇家学会学报a》(Pr。
  • 心灵法医结局(太震撼了)
  • 2024-11-22太震撼了明川和罗笔芯谈心,他不确定甚至怀疑自己是否认识郎世明,罗笔芯安慰明川郎世明对于他的爱才是最大的败笔明川还是没有复职,而罗笔芯因为明川和鹏海市的所有同事选择继续留在这里明川再次搬家不知所踪,罗笔芯回到家。
  • 奔驰gle450amg百公里加速官方(奔驰GLE450AMG超清提车1个月作业)
  • 2024-11-22奔驰GLE450AMG超清提车1个月作业临近9月,碧云天,黄叶地,不知不觉入了秋回想提车当天大雨滂沱,已一月有余,发作业的想法时时萦绕,又一次次搁浅,今天下定决心完成这件重要的小事!去年年底考虑换车,目标锁定SUV,裸车100左右选择面不多。
  • 段誉和王语嫣为什么没在一起(详细分析段誉和王语嫣)
  • 2024-11-22详细分析段誉和王语嫣男主角段誉的亲爹,是大恶人段延庆;王语嫣、木婉清、钟灵、阿朱、阿紫的亲爹,是风流王爷段正淳那么,段誉和王语嫣她们,究竟是啥关系?是堂兄妹吗?严格来说,不是的一、我们先简单了解下历史上的大理国皇族世系大。
  • 纳米佛珠套装(108佛珠套装)
  • 2024-11-22108佛珠套装颗颗籽料,绿松顶珠及佛头,南红隔珠及极品黄沁108颗:是为了表示求证百八三昧,而断除一百零八种烦恼,从而使身心能达到一种寂静的状态百八烦恼的内容,有多种不同的说法,总的来说,六根各有苦、乐、舍三受,合。
  • 经典流行病学模型(从生命起源到流行病)
  • 2024-11-22从生命起源到流行病导语涌现是复杂系统的基本特征,从微观到宏观的各个尺度,涌现现象普遍存在然而,涌现是什么,目前仍没有公认的严格定义2022年5月,ThePhilosophicalTransactionsoftheRoy。
  • 江南cnn谈梅拉尼娅(CNN被FBI翻衣柜梅拉尼娅生气了但没完全生气)
  • 2024-11-22CNN被FBI翻衣柜梅拉尼娅生气了但没完全生气(观察者网讯)本月初,美国联邦调查局“突袭”前总统特朗普海湖庄园之事,闹得沸沸扬扬除了愤怒的特朗普之外,他的妻子梅拉尼娅反应如何呢?美国有线电视新闻网(CNN)30日援引多名“知情人士”称,梅拉尼娅对。
  • 动漫推荐让人心疼的动漫角色(我妻由乃这么巧)
  • 2024-11-22我妻由乃这么巧乃们有没有看到前几个月的一条新闻,一个姓王的小盆友,爸妈给起名叫王者荣耀╮(╯▽╰)╭动漫里也有很多画风清奇的名字飞弹伤无出自:《魔装学园H×H》一个飞弹投下来,你还毫发无伤的话,只能敬你是条汉子了这。
  • 镐京考古遗址(镐京遗址发现西周时期道路等遗迹)
  • 2024-11-22镐京遗址发现西周时期道路等遗迹陶片铺设的房屋散水陕西省考古研究院供图中新网西安11月17日电(记者阿琳娜)记者17日从陕西省考古研究院获悉,经过两个年度的考古发掘,考古人员在镐京遗址发现了西周大型建筑基址、道路、陶排水管道等重要遗。
  • 周一早上客户问候语大全(关于周一的早安问候语)
  • 2024-11-22关于周一的早安问候语周一顺利又平安,周二笑容堆满面,周三快乐奔向前,周四幸福在身边,周五幸福美梦圆,周六纳福又进财,周日好事不间断,天天如意在眼前!大家都说,世界上最遥远的距离就是星期一到星期五,今天又是这个距离的开始,。