baizy77 发表于 2018-9-11 22:56:52

【独家连载】Qt进阶002: QString的arg()接口

本帖最后由 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提供的各种接口编写非常高效的程序。===========================================================本教程的纸质书籍正在编写中,课程视频也在录制中,敬请关注。===========================================================
页: [1]
查看完整版本: 【独家连载】Qt进阶002: QString的arg()接口