textWidth = -1 означает, что
"[...] текст не будет разбит на несколько строк, если он не будет принудительно введен через явный разрыв строки или новый абзац."
( QTextDocument :: textWidth () )
Итак, если вы хотите получить длину вашего QGraphicsTextItem
, вы не можете использовать textWidth
, но вместо этого вам нужна фактическая длина строки в этом QGraphicsTextItem
.Взгляните на QGraphicsTextItem :: toPlainText () , который возвращает QString.Вызовите size()
для этой строки.
int length = my_graphics_text_item.toPlainText().size()
Теперь у вас есть количество символов в этой строке и вы можете реализовать функцию изменения размера для увеличения прямоугольника, когда символов слишком много.Это своего рода обходной путь, но я надеюсь, что он поможет решить вашу проблему.