码迷,mamicode.com
首页 > 其他好文 > 详细

获得qstring字符串的长度(字节长度和所占的像素宽度)

时间:2015-04-17 18:12:24      阅读:537      评论:0      收藏:0      [点我收藏+]

标签:

1.QString 用length()返回字符串的长度,即字节数, 在中英文字符都是以 Unicode 方式编码的,所以,无论中英文都算的长度为 1。
想要取得英文长度为 1 中文长度为 2 的总长度,必须用toLocal8bit()。具体使用方法如下所示:
QString s = "ab中文";
int length = s.length(); //length = 4;
length = s.toLocal8Bit().length(); //length = 6
2.以上都是获取的字符串字节的长度,但是如果要在屏幕上显示,获取所占的像素个数,这样获取是不对的,应该按如下方式:
QFont wordfont;
wordfont.setFamily("宋体");
wordfont.setPointSize(10);
QFontMetrics fm(wordfont);
m_pLabel->setText("名称不合法");
QRect rec = fm.boundingRect( m_pLabel->text());
int ii = rec.width();//这个就获得了字符串所占的像素宽度



获得qstring字符串的长度(字节长度和所占的像素宽度)

标签:

原文地址:http://blog.csdn.net/hudfang/article/details/45099367

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!