Home · All Classes · Modules · QSS HELP · QSS 案例 · VER007 HOME |
该QLatin1String类提供了简单包装的一个US-ASCII/Latin-1编码的字符串文字。More...
这个类可以醃制。
该QLatin1String类提供了简单包装的一个US-ASCII/Latin-1编码的字符串文字。
许多QString的成员函数重载接受const char *而不是QString。这包括拷贝构造函数,赋值操作符,比较操作符,以及其他各种功能,如insert(),replace()和indexOf()。这些功能通常是优化,以避免建设QString为对象const char *数据。例如,假设str是QString,
if (str == "auto" || str == "extern" || str == "static" || str == "register") { ... }
是不是快很多
if (str == QString("auto") || str == QString("extern") || str == QString("static") || str == QString("register")) { ... }
因为它没有构造四个临时QString对象,使字符数据的深层副本。
定义应用程序QT_NO_CAST_FROM_ASCII(在所说明QString文档)不具有访问QString的const char *API。提供指定固定的Latin-1的字符串的有效方式, Qt提供了QLatin1String ,这是围绕一个只是一个非常薄的包装const char *。使用QLatin1String ,上面的例子代码变得
if (str == QLatin1String("auto") || str == QLatin1String("extern") || str == QLatin1String("static") || str == QLatin1String("register") { ... }
这是一个有点长一些,但它提供了完全相同的利益作为代码的第一个版本,并且比使用转换Latin-1的字符串更快QString.fromLatin1( ) 。
多亏了QString(常量QLatin1String & )构造函数, QLatin1String可以到处使用QString预计。例如:
QLabel *label = new QLabel(QLatin1String("MOD"), this);
构造一个QLatin1String对象,它存储str。注意,如果str为0时,将创建一个空字符串,这种情况下是通过处理QString。
字符串数据是not复制。调用者必须能够保证str也不会被删除或修改,只要该QLatin1String对象存在。
See also latin1( ) 。
返回存储在此对象中的Latin-1的字符串。
PyQt 4.10.3 for X11 | Copyright © Riverbank Computing Ltd and Nokia 2012 | Qt 4.8.5 |