本帖最后由 baizy77 于 2018-9-28 21:53 编辑
原创文章,转载请注明出处。
=========================================================== 引言 ---------------------------------------------------------------------------------------------------------------------- 在Qt中,QString应该算最常用的类之一了。我们经常用它来打印信息或者存储内容。今天,我们来讨论一个很有用的接口arg()。我们会用它来进行多个参数传入,然后把它用在国际化翻译中。
正文 ---------------------------------------------------------------------------------------------------------------------- 我们先看一下QString的头文件中的定义:
- QString arg(const QString & a, int fieldWidth = 0, QChar fillChar = QLatin1Char( '' )) const
复制代码
实际上,QString提供了好几个arg()接口,我们这里只展示了其中一个。 在使用的时候,我们可以将几个参数依次传给QString,比如: - qrealx = 0.f;
- qrealy = 0.f;
- qrealw = 10.f;
- qrealh = 20.f
- QStringstrRect = QString::tr("x:%1,y:%2,w:%3,h:%4").arg(x).arg(y).arg(w).arg(h);
复制代码
然后,在ts文件中,我们可以这样写:
- <name> QString </name>
- <message>
- <source> x:%1, y:%2,w:%3,h:%4</source>
- <translation> x坐标:%1, y坐标:%2,宽:%3,高:%4</translation>
- </message>
复制代码
这样,得到的字符串就可以转变为带着几个参数的中文信息了。
结语 ---------------------------------------------------------------------------------------------------------------------- QString在Qt的界面编程中用途非常广泛,而且4.x之后是多线程安全的(具体版本待查)。我们可以充分利用QString提供的各种接口编写非常高效的程序。 =========================================================== 本教程的纸质书籍正在编写中,课程视频也在录制中,敬请关注。 ===========================================================
|