In this tutorial we’ll make an app that displays an input field.
A textbox or LineEdit can be created using the QLineEdit class. Many applications have text inputs like form fields and the like.
Related course:
Create PyQt Desktop Appications with Python (GUI)
PyQt line edit
Start by importing the QLineEdit widget:
from PyQt5.QtWidgets import QLineEdit
|
We will also add a text label, to show the user what to type.
Import QLabel:
from PyQt5.QtWidgets import QLabel
|
Then add both to the screen:
self.nameLabel = QLabel(self) self.nameLabel.setText('Name:') self.line = QLineEdit(self)
self.line.move(80, 20) self.line.resize(200, 32) self.nameLabel.move(20, 20)
|
The text value can be printed using:
print('Your name: ' + self.line.text())
|
QLineEdit Example
We start with the code followed by the explanation.
import sys from PyQt5 import QtCore, QtWidgets from PyQt5.QtWidgets import QMainWindow, QWidget, QLabel, QLineEdit from PyQt5.QtWidgets import QPushButton from PyQt5.QtCore import QSize
class MainWindow(QMainWindow): def __init__(self): QMainWindow.__init__(self)
self.setMinimumSize(QSize(320, 140)) self.setWindowTitle("PyQt Line Edit example (textfield) - pythonprogramminglanguage.com")
self.nameLabel = QLabel(self) self.nameLabel.setText('Name:') self.line = QLineEdit(self)
self.line.move(80, 20) self.line.resize(200, 32) self.nameLabel.move(20, 20)
pybutton = QPushButton('OK', self) pybutton.clicked.connect(self.clickMethod) pybutton.resize(200,32) pybutton.move(80, 60)
def clickMethod(self): print('Your name: ' + self.line.text())
if __name__ == "__main__": app = QtWidgets.QApplication(sys.argv) mainWin = MainWindow() mainWin.show() sys.exit( app.exec_() )
|
If you are new to Python PyQt, then I highly recommend this book.
Download PyQt Examples