Шаг 104.
Библиотека PyQt5. Основные компоненты. Однострочное текстовое поле. Основные методы и сигналы
На этом шаге мы начнем перечислять основные методы и сигналы.
Класс QLineEdit поддерживает следующие методы (за полным их списком обращайтесь к странице https://doc.qt.io/qt-5/qlineedit.html):
- setText (<Текст>) - помещает указанный текст в поле. Метод является слотом;
- insert (<Текст>) - вставляет текст в текущую позицию текстового курсора. Если в поле
был выделен фрагмент, он будет удален;
- text () - возвращает текст, содержащийся в текстовом поле;
- displayText () - возвращает текст, который видит пользователь. Результат зависит от
режима отображения, заданного с помощью метода setEchoMode(), - например, в режиме Password строка будет состоять из звездочек;
- clear () - удаляет весь текст из поля. Метод является слотом;
- backspace () - удаляет выделенный фрагмент. Если выделенного фрагмента нет, то удаляет символ, стоящий слева от текстового курсора;
- del () - удаляет выделенный фрагмент. Если выделенного фрагмента нет, то удаляет
символ, стоящий справа от текстового курсора;
- setSelection (<Индекс>, <Длина>) - выделяет фрагмент длиной <Длина>, начиная с
позиции <Индекс>. Во втором параметре можно указать отрицательное значение;
- selectedText () - возвращает выделенный фрагмент или пустую строку, если ничего не выделено;
- selectAll () - выделяет весь текст в поле. Метод является слотом;
- selectionStart () - возвращает начальный индекс выделенного фрагмента или значение -1, если ничего не выделено;
- hasSelectedText () - возвращает значение True, если поле содержит выделенный фрагмент, и False - в противном случае;
- deselect () - снимает выделение;
- isModified () - возвращает True, если текст в поле был изменен пользователем, и False - в противном случае. Заметьте,
что вызов метода setText () помечает поле как неизмененное;
- setModified (<Флаг>) - если передано значение True, поле ввода помечается как измененное, если False - как неизмененное;
- setEchoMode (<Режим>) - задает режим отображения текста. Могут быть указаны следующие атрибуты класса QLineEdit:
- Normal (или 0) - показывать символы как они были введены;
- NoEcho (или 1) - не показывать вводимые символы;
- Password (или 2) - вместо символов выводить звездочки (*);
- PasswordEchoOnEdit (или 3) - показывать символы при вводе, а после потери фокуса вместо них отображать звездочки (*);
- setCompleter(<QCompleter>) - позволяет предлагать возможные варианты значений,
начинающиеся с введенных пользователем символов. В качестве параметра указывается экземпляр класса QCompleter. Пример:
lineEdit = QtWidgets.QLineEdit()
arr = ["кадр", "каменный", "камень", "камера"]
completer = QtWidgets.QCompleter(arr, parent=window)
lineEdit.setCompleter(completer)
- setReadOnly (<Флаг>) - если в качестве параметра указано значение True, то поле будет доступно только для чтения;
- isReadOnly () - возвращает значение True, если поле доступно только для чтения, и False - в противном случае;
- setAlignment (<Выравнивание>) - задает выравнивание текста внутри поля;
- setMaxLength (<Количество>) - задает максимальное количество символов;
- setFrame (<Флаг>) - если в качестве параметра указано значение False, то поле будет отображаться без рамки;
- setDragEnabled (<Флаг>) - если в качестве параметра указано значение True, то режим
перетаскивания текста из текстового поля с помощью мыши будет включен. По умолчанию однострочное текстовое поле только принимает перетаскиваемый текст.
На следующем шаге мы закончим изучение этого вопроса.
Предыдущий шаг
Содержание
Следующий шаг