Шаг 114.
Библиотека PyQt5.
Основные компоненты. Многострочное текстовое поле. Класс QTextCursor
На этом шаге мы рассмотрим назначение этого класса, форматы конструктора и методы класса QTextEdit, предназначенные для управления текстовым курсором.
Класс QTextCursor из модуля QtGui предоставляет инструмент для доступа к документу,
представленному экземпляром класса QTextDocument, и для его правки, - иными словами, текстовый курсор.
Конструктор класса QTextCursor поддерживает следующие форматы:
<Объект> = QTextCursor()
<Объект> = QTextCursor(<QTextDocument>)
<Объект> = QTextCursor(<QTextFrame>)
<Объект> = QTextCursor(<QTextBlock>)
<Объект> = QTextCursor(<QTextCursor>)
Создать текстовый курсор, установить его в документе и управлять им позволяют следующие методы класса QTextEdit:
- textCursor () - возвращает видимый в данный момент текстовый курсор (экземпляр класса QTextCursor).
Чтобы изменения затронули текущий документ, необходимо передать этот объект в метод setTextCursor();
- setTextCursor (<QTextCursor>) - устанавливает текстовый курсор, ссылка на который указана в качестве параметра;
- cursorForPosition (<QPoint>) - возвращает текстовый курсор, который соответствует
позиции, указанной в качестве параметра. Позиция задается с помощью экземпляра класса QPoint в координатах области;
- moveCursor (<Позиция>[, mode=MoveAnchor]) - перемещает текстовый курсор внутри
документа. В первом параметре можно указать следующие атрибуты класса QTextCursor:
- NoMove (или 0) - не перемещать курсор;
- Start (или 1) - в начало документа;
- Up (или 2) - на одну строку вверх;
- StartOfLine (или 3) - в начало текущей строки;
- StartOf Block (или 4) - в начало текущего текстового блока;
- StartOfWord (или 5) - в начало текущего слова;
- PreviousBlock (или 6) - в начало предыдущего текстового блока;
- PreviousCharacter (или 7) - на предыдущий символ;
- PreviousWord (или 8) - в начало предыдущего слова;
- Left (или 9) - сдвинуть на один символ влево;
- WordLeft (или 10) - влево на одно слово;
- End (или 11) - в конец документа;
- Down (или 12) - на одну строку вниз;
- EndOfLine (или 13) - в конец текущей строки;
- EndOfWord (или 14) - в конец текущего слова;
- EndOfBlock (или 15) - в конец текущего текстового блока;
- NextBlock (или 16) - в начало следующего текстового блока;
- NextCharacter (или 17) - на следующий символ;
- NextWord (или 18) - в начало следующего слова;
- Right (или 19) - сдвинуть на один символ вправо;
- WordRight (или 20) - в начало следующего слова.
Помимо перечисленных, существуют также атрибуты NextCell, PreviousCell, NextRow и PreviousRow,
позволяющие перемещать текстовый курсор внутри таблицы. В необязательном параметре mode можно указать
следующие атрибуты из класса QTextCursor:
- MoveAnchor (или 0) - если существует выделенный фрагмент, то выделение будет снято, и текстовый курсор
переместится в новое место (значение по умолчанию);
- KeepAnchor (или 1) - фрагмент текста от старой позиции курсора до новой будет выделен.
На следующем шаге мы закончим изучение этого вопроса.
Предыдущий шаг
Содержание
Следующий шаг