xSkyFoXx
@xSkyFoXx

Существует ли какой-то не очень богатый готовый текстовый редактор для Qt (PyQt)?

Может кто-то сталкивался с задачей. Есть область для ввода многострочного текста. Хотелось бы прикрутить в неё элементарные функции с кнопками для жирного, курсива и подчёркнутого стиля шрифта. С выводом такого текста проблем нет. Qt отлично выводит html-форматированный текст. А вот писать свой полубогатый редактор совсем не хочется.
  • Вопрос задан
  • 5556 просмотров
Пригласить эксперта
Ответы на вопрос 6
becks
@becks
Если я не ошибаюсь в демках к Qt было что-то подобное. Мне кажется вы дольше будете искать и разбираться с чужим кодом, чем напишите все с нуля сами.
Если писать совсем не хочется, можно глянуть на qt-apps.org наверняка найдете.
Ответ написан
@cencio
QScintilla, биндинги для питона есть.
Ответ написан
@Fak3
katepart из KDE
Ответ написан
Комментировать
namespace
@namespace
Разработчик C++/Python
Их нету. А если и есть — то это огромная редкость. Если вам для редактирования исходников, есть несколько вариантов:

* QScintilla — я о нем писал на хабре (есть в Моём), сейчас я от него отказался в пользу QSupernova, по многим причинам, которые хорошо описаны hlamer в его посте «Темная сторона QScintilla».
* QSupernova — редактор на основе QTextEdit и xml из katepart (мой проект, сейчас на стадии очень раннего развития)
* Можно вырвать из других приложений, но это очень трудозатратно.
Ответ написан
Комментировать
hlamer
@hlamer
Если в Qt Designer бросить на форму QTextEdit, а потом в контекстном меню выбрать «Change HTML», открывается примерно то, что вам нужно.
Посмотрите исходники Qt Designer, может быть вам оно подойдет.
Ответ написан
Комментировать
icoz
@icoz
Проще написать самому. Создаете кнопку, скажем, для курсива. Цепляете QAction, и соединяете сигнал toggled(bool) от QAction() на QTextEdit, setFontItalic(bool).
Таким образом код обработки писать не надо вообще.
В былые времена, когда начинал изучать Qt, сам написал такое — был сильно удивлен простотой.
Конечно, если требуются уже какие-то навороты, тогда обработчики придётся писать самостоятельно.

Примерно тоже, что и вы я делал в sf.net/projects/dbnote — можете посмотреть там реализацию. Простенький редактор получается просто соединением сигналов-слотов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы