Ответ 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();
Затем вы можете изменить размер виджета до именно этого значения.