找回密码
 立即注册

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

发表于 2018-9-11 22:56:52 | 显示全部楼层 |阅读模式
本帖最后由 baizy77 于 2018-9-12 09:00 编辑

微信公众号: 星点课堂
新浪微博:女儿叫老白
网易云课堂:女儿叫老白
网易云课堂免费课程:《C++跨平台开发中的编译错误》
===========================================================
引言
----------------------------------------------------------------------------------------------------------------------
       在Qt中,QString应该算最常用的类之一了。我们经常用它来打印信息或者存储内容。今天,我们来讨论一个很有用的接口arg()。我们会用它来进行多个参数传入,然后把它用在国际化翻译中。

正文
----------------------------------------------------------------------------------------------------------------------
       我们先看一下QString的头文件中的定义:

  1. QString arg(const QString & a, int fieldWidth = 0, QChar fillChar = QLatin1Char( '' )) const
复制代码

       实际上,QString提供了好几个arg()接口,我们这里只展示了其中一个。
       在使用的时候,我们可以将几个参数依次传给QString,比如:
  1. qrealx = 0.f;
  2. qrealy = 0.f;
  3. qrealw = 10.f;
  4. qrealh = 20.f
  5. QStringstrRect = QString::tr("x:%1,y:%2,w:%3,h:%4").arg(x).arg(y).arg(w).arg(h);
复制代码


       然后,在ts文件中,我们可以这样写:

           
  1. <name> QString </name>
  2. <message>
  3. <source> x:%1, y:%2,w:%3,h:%4</source>
  4. <translation> x坐标:%1, y坐标:%2,宽:%3,高:%4</translation>
  5. </message>
复制代码

       这样,得到的字符串就可以转变为带着几个参数的中文信息了。

结语
----------------------------------------------------------------------------------------------------------------------
       QString在Qt的界面编程中用途非常广泛,而且4.x之后是多线程安全的(具体版本待查)。我们可以充分利用QString提供的各种接口编写非常高效的程序。
===========================================================
本教程的纸质书籍《Qt进阶-开发完整的界面应用程序》正在编写中,课程视频也在录制中,敬请关注。
===========================================================

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

baizy77

    主题

    帖子

    60

    积分

    Qter1级会员

    Rank: 1

    积分
    60

Qter1级会员

发私信

Qt开源社区——开源 共享 自由

微信扫一扫
查看精品教程!