Как узнать ширину и высоту строки?

Я хочу создать кнопку точно такого же размера, как и строка для этого. Я хочу ширину и высоту строки.

Ответ 1

Чтобы вручную получить размер строки, вам нужно использовать класс QFontMetrics. Это можно использовать вручную следующим образом:

QFont font("times", 24);
QFontMetrics fm(font);
int pixelsWide = fm.width("What the width of this text?");
int pixelsHigh = fm.height();

Если вы хотите рассчитать его для шрифта, используемого в заданном виджете (который вы, возможно, не знаете), то вместо построения fontmetrics получите его из виджета:

QFontMetrics fm(button->fontMetrics());
int pixelsWide = fm.width("What the width of this text?");
int pixelsHigh = fm.height();

Затем вы можете изменить размер виджета до именно этого значения.