Ligm.Editor создан для демонстрации встраивания в приложения PyQt простого редактора.
Встраиваемый редактор позволяет работать:
В обоих режимах (текстовом и HTML) есть возможность проверки орфографии для английского и русского языков, предварительный просмотр и печать документа, экспорт в pdf. Для поиска и замены текста используются комбинации клавиш Ctrl-F, Ctrl-R, [Shift-] F3. Кроме указанных комбинаций действуют комбинации Ctrl-S и F2 для сохранения, Ctrl-D, Ctrl-T для вставка даты и времени, Ctrl-P-печать.
Если в системе по умолчанию установлена русская кодировка, то работает автоматическое переключение языка ввода (Ctrl-L - включение/отключение автоматической замены) и замена текста набранного не в той кодировке (F-12).
Внешний вид редактора:
Рис. 1 - пример документа с таблицей и картинкой
Рис. 2 - пример исправления ошибок в тексте
Рис. 3 - пример исходного кода (Python)
Рис. 4 - пример исходного кода (SQL)
Зависимости.
Для работы необходим Python 3.7+, PyQt5.
Установка.
pip install ligm.editor
pip install ligm.spell (словари для проверки орфографии)
После установки, выполните в терминале ligm.editor для запуска демонстрационного приложения.
Для установки только встраиваемого редактора, без демонстрационного приложения:
pip install ligm.core
Пример использования.
from PyQt5.Qt import QApplication
from ligm.core.text import TextEditor
from ligm.core.qt import install_translators
from ligm.core.common import SimpleConfig
filename= "example.html"
def load():
with open(filename, encoding="utf-8") as f:
return f.read()
def save(txt):
with open(filename, "w", encoding="utf-8") as f:
f.write(txt)
app = QApplication([])
install_translators()
cfg = SimpleConfig()
editor = TextEditor(None, cfg, save=save, load=load, auto_load=True)
editor.setGeometry(100, 100, 600, 500)
editor.show()
app.exec()
Методы класса ligm.core.text.TextEditor
Конструктор класса:
save(txt) - сохранение текста (вызывает переданный в конструкторе метод, если метод возвращает значение отличное от None, то подразумевается, что он вызван неудачно)
load - загрузка текста в редактор (вызывает переданный в конструкторе метод)
set_option - установка состояния редактора
get_option(name) - возвращает состояния редактора
name="word-wrap" - включен ли перенос слов
name="readonly" - состояние режима только для чтения
search(text="", show_msg=True) - запуск поиска текста, переданного в параметре text, либо (если text="") указанного в строке поиска
get_text() - текст в редакторе (зависит от формата).
is_empty() - проверка наличия данных в документе.