qt开发入门简介 一步一步学习Qt开发
qt开发入门简介 一步一步学习Qt开发
2024-09-30 03:38:17  作者:妈苊吢痌  网址:https://m.xinb2b.cn/know/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-09-30蜂蜜是怎么形成的说明文怎么写蜂蜜形成的原因:蜜蜂采集完花蜜后,会将其存到自己的第二个胃中,并使其发生多种转化经过15天左右,将花蜜酝酿成各种营养元素(丰富的维生素、氨基酸及矿物质等),并使其达到一定的营养数值之后,将花蜜中的多糖。
  • 好的黑板报主题(别人班的黑板报清新隽永)
  • 2024-09-30别人班的黑板报清新隽永在学校里,黑板是不可或缺的重要教育器材,老师讲课板书与布置作业都用得上除此以外,黑板还会用作公布值日生、公布课程表等公示用途除了教学以外,黑板被用作最多且最受学生欢迎的,无非是黑板报了往常黑板报给我们。
  • 清明节来历的故事(有什么说法)
  • 2024-09-30有什么说法清明节来历的故事:相传春秋时期,晋公子重耳为逃避迫害而流亡国外,流亡途中,在一处渺无人烟的地方,又累又饿,再也无力站起来随臣找了半天也找不到一点吃的,正在大家万分焦急的时候,随臣介子推走到僻静处,从自。
  • 江苏第4批特色田园(苏州再添8个省特色田园乡村)
  • 2024-09-30苏州再添8个省特色田园乡村苏报讯(记者王安琪)近日,第九批次江苏省特色田园乡村名单公布,我市又有8个村庄通过省田园办综合评价,被命名为“江苏省特色田园乡村”目前,我市累计已有65个村庄获评“江苏省特色田园乡村”,数量保持全省最。
  • 凉拌萝卜丁的家常做法(凉拌萝卜丁的做法)
  • 2024-09-30凉拌萝卜丁的做法佐粥小菜__凉拌萝卜丁我家闺秀,2015-02-12自从回到重庆,就连着吃了几天的火锅.感觉有些腻了.想吃点稀饭,就拌了这个酸酸辣辣的萝卜丁.简单,快捷,下饭...白萝卜☜1个盐适量白醋适量油辣子适量。
  • 民国冯国璋何许人(北洋之狗冯国璋)
  • 2024-09-30北洋之狗冯国璋冯国璋一、冯国璋1859年1月7日,冯国璋出生于河北省沧州市河间县西诗经村据说,是明朝开国名将——冯胜的后人家境原本殷实,到他父亲冯春棠时,家道中落宋国公——冯胜二、莲池书院7岁入私塾,成绩优异,却屡。
  • 指鹿为马成语故事的人物(老当益壮的马援)
  • 2024-09-30老当益壮的马援中国的成语都是有典故的,就是根据古代当时发生的事情,用一个词语来概括,并引申出意义,就形成了成语,成语也象征这中华文民文化的博大精深,需要我们细心地研修很多的成语也有不清楚的地方,比如马革裹尸,这个成。
  • 海白菜是什么菜(关于海白菜简介)
  • 2024-09-30关于海白菜简介海菠菜海白菜是一种绿藻植物,也被称作海菠菜、海莴苣、海条、青苔菜等,属于海里的蔬菜,含有丰富的胶质,食用具有很好的润肠通便的作用,还含有丰富的蛋白质和矿物质,因此食用之后可以很好的补充营养海白菜含水分。
  • 东北炒虾皮的做法
  • 2024-09-30东北炒虾皮的做法做法一:干炒虾皮材料:虾皮250g、油80g做法:1、虾皮用清水淘洗两遍去掉杂质,尽量控干水份;2、锅烧热后倒油,转小火加入虾皮;3、不停翻炒,让虾皮里面的水分全部蒸发掉;4、最后炒成金黄色就可以了做。
  • 关于老师上课的搞笑段子(搞笑段子开卷考试)
  • 2024-09-30搞笑段子开卷考试端午节给我爸妈寄了一盒粽子,桂顺斋的,六种口味的过后给我爹打电话,问他粽子好不好吃,结果我爹严肃的告诉我那些粽子都是一个味的,就是黑米的有点不一样我当时很诧异,就让我爹把电话给我娘亲了,结果我娘亲兴高。
  • cnn卷积神经网络的特点及优势(卷积神经网络CNN介绍与实践)
  • 2024-09-30卷积神经网络CNN介绍与实践卷积神经网络(CNN)介绍与实践1CNN的前生今世1.1大脑作为人类,我们不断地通过眼睛来观察和分析周围的世界,我们不需要刻意的“努力”思考,就可以对所看到的一切做出预测,并对它们采取行动当我们看到某。
  • 人生的道路是方向决定的吗(人生的方向你会确立吗)
  • 2024-09-30人生的方向你会确立吗今天跟一个朋友聊天,听他诉说自己有点混乱的生活,什么都想做什么也没有做好,感觉自己总是有目标,但是总也完不成目标,就特别的沮丧我跟他聊得很多,发现他设定目标都是随机的,看别人设定什么目标,他也跟着上,。