• 8081阅读
  • 3回复

求助:如何获取由QPainter绘制出来的字体像素宽度? [复制链接]

上一主题 下一主题
离线yuan5lai9
 
只看楼主 倒序阅读 楼主  发表于: 2008-06-17
— 本帖被 XChinux 执行加亮操作(2008-06-18) —
由于我要在一个固定长度区域绘制文本, 如果文本的宽度超过区域长度就将后面的文字的用......表示..中文和字母绘制出来的宽度不一样
如何获取由QPainter绘制出来以后的字体像素宽度啊?
高手们帮帮忙~~~谢谢~~~~~~  
[ 此贴被yuan5lai9在2008-06-17 21:06重新编辑 ]
离线winxxp
只看该作者 1楼 发表于: 2008-06-17
QFontMetrics 类帮助中的,
Example:

QFont font("times", 24);
QFontMetrics fm(font);
int pixelsWide = fm.width("What's the width of this text?");
int pixelsHigh = fm.height();
离线yuan5lai9
只看该作者 2楼 发表于: 2008-06-18
不行呀,那个我早就试过了 它的宽度就是设置的字体像素大小乘上字的个数.
搞出来比如10个数字的宽度 和10个汉字的宽度一样长..
我要的是绘出来以后的字体宽度..
刚才又试过了,这个显示和字体编码有关...我使用的Unicode编码,
如果不是Unicode编码 用QFontMetrics就是显示正确的..
郁闷了..
[ 此贴被yuan5lai9在2008-06-18 09:41重新编辑 ]
离线guoyun_he

只看该作者 3楼 发表于: 2008-06-18
应该就只有2楼说的方法!
快速回复
限100 字节
 
上一个 下一个