Как получить ширину ячейки QTreeView внутри QItemDelegate sizeHint ()?

У меня есть собственный текст для рисования QItemDelegate в QTreeView. В paint () я получаю размер ячейки из стиля. Затем я рисую текст с переносом слов, используя текущую ширину ячейки.

В sizeHint () я действительно хочу вычислить только высоту. Ширина должна соответствовать текущей ширине ячейки. Когда пользователь изменяет ширину ячейки, sizeHint просто вычисляет новую высоту текста с переносом слов и возвращает ее.

Проблема в том, что я не могу получить ширину ячейки внутри sizeHint (), как в paint (). Я использовал:

style = QApplication.style()
style.subElementRect(QStyle.SE_ItemViewItemText, option).width()

Это работает в paint (), но возвращает -1 в sizeHint (). Как мне получить текущую ширину ячейки в sizeHint ()?

5
задан 19 January 2012 в 20:41
поделиться