我们如何知道字符串的宽度和高度?
Posted
技术标签:
【中文标题】我们如何知道字符串的宽度和高度?【英文标题】:How can we know the width and height of string? 【发布时间】:2011-10-24 07:28:32 【问题描述】:我想创建一个与字符串大小完全相同的按钮,我想要字符串的宽度和高度。
【问题讨论】:
你知道字符串将被渲染的字体度量吗?因为否则你就没有机会了。 我有字符串的字体类型和像素大小。 【参考方案1】:要手动获取字符串的大小,您需要使用QFontMetrics 类。这可以像这样手动使用:
QFont font("times", 24);
QFontMetrics fm(font);
int pixelsWide = fm.width("What's the width of this text?");
int pixelsHigh = fm.height();
如果您想为给定小部件(您可能不知道)中使用的字体计算它,那么不要构造字体度量,而是从小部件获取它:
QFontMetrics fm(button->fontMetrics());
int pixelsWide = fm.width("What's the width of this text?");
int pixelsHigh = fm.height();
然后您可以将小部件的大小调整为该值。
【讨论】:
对于 multiline 测量,您需要接受标志参数的QFontMetrics::boundingRect
的重载。【参考方案2】:
使用QFontMetrics。
示例:http://www.developer.nokia.com/Community/Wiki/CS001349_-_Calculating_text_width_in_Qt
【讨论】:
以上是关于我们如何知道字符串的宽度和高度?的主要内容,如果未能解决你的问题,请参考以下文章
关于操作Excel的POI我想请教下设置单元格宽度和高度的单位是啥?与厘米是不是可以转换?并且比例是多少?