есть вывод текста
painter->drawText(x,y,"TEST_TXT");
Вопрос как вокруг текста нарисовать прямоугольник ?
(Или как узнать QRect в которм находиться текст)
QFontMetrics выдаёт весьма противоречивый результат....
QPainter painter( this);
const QFont &font = painter.font();
int x = 100, y = 50;
painter.drawText( x, y, "TEST_TXT");
QFontMetrics fm( font);
QRect rect = fm.boundingRect( "TEST_TXT");
rect.setLeft( rect.left() + x);
rect.setTop( rect.top() + y);
rect.setRight( x + rect.right());
rect.setBottom( y + rect.bottom());
painter.drawRect( rect);
Йорик
QPainter painter( this);
QFont font=QFont( "Arial", 36);
painter.setFont( font);
int x = 50, y = 150;
painter.drawText( x, y, "_АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩьЫЪЭЮЯ");
QFontMetrics fm( font);
QRect rect = fm.boundingRect( "_АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩьЫЪЭЮЯ");
rect.setLeft( rect.left() + x);
rect.setTop( rect.top() + y);
rect.setRight( x + rect.right());
rect.setBottom( y + rect.bottom());
painter.drawRect( rect);
По все видимости нужно попробовать посчитать самый высокий и самый низкий из текущего набора...