Как использовать многострочный текст/разрывы строк в QTableView/QAbstractTableModel?

У меня есть подклассы QAbstractTableModel и QTabelView (и QSortFilterProxyModel), и я хотел бы, чтобы многострочный текст отображался и вводился пользователем в текстовых ячейках (в настоящее время нажатие return подтвердит редактирование вместо вставки разрыва строки).

Должен быть установлен какой-то простой флаг, я просто не знаю, какой...


person basic6    schedule 22.07.2012    source источник


Ответы (1)


Не совсем уверен, что вы спрашиваете, но я предполагаю, что ваша ячейка уже настроена с виджетом, который может принимать многострочный ввод (например, QTextEdit с использованием setItem на вашем QTableView).

Если у вас есть это, я полагаю, вы захотите создать собственный производный класс QItemDelegate и переопределить поведение Enter по умолчанию, чтобы вставить разрыв строки, а не фиксировать данные делегата, как это поведение по умолчанию

См. http://qt-project.org/doc/qt-4.8/qitemdelegate.html#eventFilter, чтобы начать работу в правильном направлении.

person Matthew    schedule 23.07.2012