| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > Html делегат в QTableView |
| Автор: becks 4.12.2013, 13:50 | ||||
| Добрый день! Задача: Нужно в ячейках таблицы QTableView показывать html текст. Проблемы: 1) Текст не масштабируется по размерам ячейки, а располагается одной строкой. Хотелось бы, если текст не влезает в ячейку чтобы переносился. 2) Если в html есть ссылки, то при наведении на них и клике по ним нет никакой реакции. Хотелось бы в html вставлять элементы ссылок с надписью "Просмотр" и по клике на эту ссылку выполнялась некоторая Qt функция. Такое возможно? Вот реализация: HtmlDelegate.h
HtmlDelegate.cpp
Буду благодарен за любые подсказки. Спасибо. |
| Автор: becks 4.12.2013, 17:55 | ||||
Переделал на QTextBrowser, кое что еще поправил, теперь лучше, но теперь текст не отображается как html, выводит и теги. Что делаю не так?
|
| Автор: borisbn 4.12.2013, 18:07 | ||
поставь точку останова на строке
скопируй содержимое options.text в буфер обмена, положи на форму QTextBrowser и в конструкторе формы вызови browser.setHtml( тот, текст, который скопировал в дебаге) |
| Автор: becks 5.12.2013, 10:39 | ||
Попробовал. Все отображается отлично. Попробовал даже с QTableWidget тоже все прекрасно отображается. Думаю может быть мне тогда заюзать setIndexWidget( QTextBrowser ), если уж нужен только просмотр и реакция на клик по ссылке, никакого редактирования (т.е. не использовать делегат)? |
| Автор: borisbn 5.12.2013, 10:43 | ||
Не знаю как пацаны, а я не возражаю |
| Автор: becks 5.12.2013, 23:53 |
| Мужики, ничего не получается с этим делегатом, чего-то затрахался уже. И отнаследоваться от QItemDelegate пробовал переопределив createEditor, setEditorData, setModelData. Ничего не выходит, ужас какой-то. Хотелось бы чтоб делегат был основан на QTextBrowser, поскольку anchorClicked отлично отлавливается, спасибо borisbn Поднимаю еще раз тему, прошу помощи. PS: Когда в QTableWidget все работает как тебе нужно, становится обидно, что столько времени потратил на MVC, не хотелось бы в итоге остановится на QTableWidget. |