Para o Qt 4.6.x, como dimensionar automaticamente o texto para caber em uma largura especificada?
Dentro do meu QGraphicsRectItem :: paint (), estou tentando desenhar o nome do item dentro de seu rect (). No entanto, para cada um dos itens diferentes, eles podem ter largura variável e nomes semelhantes podem ter comprimento variável.
Atualmente, estou começando com um tamanho máximo de fonte, verificando se ele se encaixa e diminuindo até encontrar um tamanho de fonte adequado. Até agora, não consegui encontrar uma maneira rápida e fácil de fazer isso. Existe uma maneira melhor ou mais eficiente de fazer isso?
Obrigado!
void checkFontSize(QPainter *painter, const QString& name) {
// check the font size - need a better algorithm... this could take awhile
while (painter->fontMetrics().width(name) > rect().width()) {
int newsize = painter->font().pointSize() - 1;
painter->setFont(QFont(painter->font().family(), newsize));
}
}