Чтобы вручную получить размер строки, вам нужно использовать класс QFontMetrics .Это можно использовать вручную следующим образом:
QFont font("times", 24);
QFontMetrics fm(font);
int pixelsWide = fm.width("What's the width of this text?");
int pixelsHigh = fm.height();
Если вы хотите рассчитать его для шрифта, используемого в данном виджете (который вы, возможно, не знаете), тогда вместо построения fontmetrics получите его изwidget:
QFontMetrics fm(button->fontMetrics());
int pixelsWide = fm.width("What's the width of this text?");
int pixelsHigh = fm.height();
Затем вы можете изменить размер виджета до именно этого значения.