У меня есть некоторые проблемы с изменением размера строки в QTreeWidget. Я использую QStyledItemDelegate с QPlainTextEdit. Во время редактирования текста в QPlainTextEdit я проверяю изменения с помощью:
rect = self.blockBoundingRect(self.firstVisibleBlock())
и если высота текста изменяется, я изменяю размер редактора и нуждаюсь в изменении строки в QTreeWidget. Но я не знаю, как сообщить TreeWidget или Делегату об изменениях. Я попытался инициализировать редактор с индексом, который мог бы использовать в будущем, но Delegate каждый раз создает новый редактор, и мне не удавалось использовать сигналы. Также я использовал следующую функцию, чтобы перехватить событие изменения размера, но это не так:
bool QAbstractItemDelegate::editorEvent ( QEvent * event, QAbstractItemModel * model, const QStyleOptionViewItem & option, const QModelIndex & index )
Как связать изменения размера редактора с TreeWidget?
И еще одна вещь, по умолчанию все элементы (ячейки) в TreeWidget имеют -1 или какое-то большое значение в качестве ширины по умолчанию. Мне нужен весь текст в ячейке, чтобы быть видимым, так как я могу ограничить ширину ячеек только видимым диапазоном и заставить его расширяться по высоте? Я хочу для него такое же поведение, как в случае таблицы в MSWord.
Заранее спасибо,
Serge