QT求富文本的高度
在写一些需要精确布局或者排版的软件时候,我们需要知道文本的宽度和高度,保证我们在适当的坐标中使用drawText。或利用文本的高度进行布局与设计其他相关的东西。
不同的字体,字宽字高都是不一样的。所以计算文本宽度的是一个和字体相关的一个类
QFontMetrics
具体的使用方法如下:
QFont font;
font.setFamliy("宋体");//所求文本的字体为宋体
font.setPointsize(12);、、所求字体的大小
/*
根据不同的情景设置font,例如是否粗体
*/
QFontMetrics fm;
fm.setFont(font);
int height = fm.height(string);//strin为所求的字符串。
但是这只是一种基本的方法,我们进行的富文本的编辑一般用到QText 这个类进行文本的编辑。此时面的方法也不太实用。好在QText这个类已经提供了文本大小 size 的接口,具体的使用方法为:
Qtext text;
int是ringheight = text.edit().size().height;
通过调用上面函数爱便可实时所编辑富文本的高度或大小。