QLineEdit – элемент для ввода текста в PyQt
QLineEdit («строка ввода») - это элемент управления для ввода одной строки текста. Он используется в PyQt5 для создания графических пользовательских интерфейсов (GUI). QLineEdit позволяет пользователю вводить текст с клавиатуры и выводить этот текст на экран.
Создание QLineEdit:
Для создания QLineEdit в PyQt5 необходимо использовать следующий код:
lineEdit = QLineEdit()
Этот код создаст пустую строку ввода. Вы можете установить текст этого QLineEdit при создании объекта, используя следующий код:
lineEdit = QLineEdit(«Текст по умолчанию»)
Считывание и установка текста:
Вы можете использовать метод setText() для установки текста QLineEdit, например:
lineEdit.setText("Новый текст")
Используйте метод text() для получения текста строки ввода, например:
lineText = lineEdit.text()
Обработка событий:
Событие, доступное для QLineEdit, называется signal. Информация об этом событии содержится в объекте QKeyEvent. Мы можем отслеживать это событие с помощью следующего кода:
from PyQt5.QtCore import Qt
def keyPressEvent(self, event):
if event.key() == Qt.Key_Escape:
self.close()
Этот код закрывает окно при нажатии на клавишу Escape.
Ограничение на ввод:
QLineEdit также может быть использован для ограничения возможных символов, которые могут быть введены пользователем. Например, вы можете установить QLineEdit для принятия только целочисленных значений:
lineEdit.setValidator(QIntValidator())
QLineEdit может быть использован для принятия диапазона значений, min и max, используя следующий код:
lineEdit.setValidator(QDoubleValidator(0.0, 1.0, 2))
Пример:
Ниже приведен пример кода для создания QLineEdit и считывания введенного текста:
from PyQt5.QtWidgets import QApplication, QMainWindow, QLineEdit
import sys
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.line = QLineEdit(self)
self.line.move(50, 50)
self.line.resize(200, 32)
self.line.textChanged.connect(self.updateText)
def updateText(self, text):
print(text)
if __name__ == '__main__':
app = QApplication(sys.argv)
w = MainWindow()
w.show()
sys.exit(app.exec_())
Этот код создает QLineEdit и связывает событие textChanged с методом updateText(), который вызывается при каждом изменении текста в QLineEdit. Метод updateText() просто выводит новый текст в консоль.