首页 > 其他 > 详细

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

时间:2015-04-17 18:11:58      阅读:228      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!