PyQt line edit

A textbox or LineEdit can be created using the QLineEdit class. Many applications have text inputs like form fields and the like.

In this tutorial we’ll make an app that displays the name typed in the textbox.

qlineedit

Related course: Python Desktop Application Development with PyQt

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_() )

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())

 

pyqt5 video widget
pyqt menu

Leave a Reply

Your email address will not be published. Required fields are marked *