我们怎么知道弦的宽度和高度?

use*_*036 12 qt qt4

我想创建一个与字符串大小完全相同的按钮,我想要字符串的宽度和高度.

dun*_*can 26

要手动获取字符串的大小,您需要使用QFontMetrics类.这可以像这样手动使用:

QFont font("times", 24);
QFontMetrics fm(font);
int pixelsWide = fm.width("What's the width of this text?");
int pixelsHigh = fm.height();
Run Code Online (Sandbox Code Playgroud)

如果你想为给定小部件中使用的字体(你可能不知道)计算它,那么不是构建fontmetrics,而是从小部件中获取它:

QFontMetrics fm(button->fontMetrics());
int pixelsWide = fm.width("What's the width of this text?");
int pixelsHigh = fm.height();
Run Code Online (Sandbox Code Playgroud)

然后,您可以将窗口小部件的大小调整为此值.