Social Icons

Saturday, January 8, 2022

The QlineEdit Widget PyQt5

1 - The QLineEdit class

The PyQt5 library is equipped with the QLineEdit class which allows you to create input fields with a single line. QLineEdit comes with a useful collection of editing functions, including undo and redo, cut and paste, and drag and drop. This is the basic PyQt5 widget to receive keyboard input, the input can also be text, numbers or even a symbol.

2 - Associated methods with the QLineEdit class

  1. setAlignment(): aligns the text: Qt.AlignLeft, Qt.AlignRight, Qt.AlignCenter, Qt.AlignJustify   
  2. clear(): erases the contents 
  3. setEchoMode(): controls the text appearance: QLineEdit.Normal, QLineEdit.NoEcho, QLineEdit.Password, QLineEdit.PasswordEchoOnEdit 
  4. setMaxLength(): sets the maximum number of characters for input 
  5. setReadOnly(): makes the text box non-editable 
  6. setText(): assign a text to the QLineEdit 
  7. text(): retrieves text in the the QLineEdit field 
  8. setValidator(): sets the validation rules. Available validators are: QIntValidator − Restricts input to integer, QDoubleValidator − Fraction part of number limited to specified decimals, QRegexpValidator − Checks input against a Regex expression 
  9. setInputMask(): applies mask of combination of characters for input  
  10. setFont(): displays the contents QFont object

Associated signals

  1. cursorPositionChanged(): whenever the cursor moves
  2. editingFinished(): when you press 'Enter' or the field loses focus 
  3. returnPressed(): when you press 'Enter' 
  4. selectionChanged(): whenever the selected text changes 
  5. textChanged(): as text in the box changes either by input or by programmatic means 
  6. textEdited(): whenever the text is edited
To create a QLineEdit control, just import and instantiate the QLineEdit class:
import sys
from PyQt5.QtWidgets import QApplication , QWidget, QLineEdit

app = QApplication(sys.argv)

win = QWidget()
win.setWindowTitle("Example of QLineEdit")
win.setGeometry(100 , 100 , 400 , 300)

# create a QLineEdit
qLine = QLineEdit(win)
qLine.setGeometry(50, 100 , 200 , 50)

win.show()
sys.exit(app.exec_())

2 - Apply a style to a QLineEdit control

QLineEdit has the setStyleSheet() method which allows you to associate a Qt Style Sheet (QSS) style

Example

qLine.setStyleSheet("background: black; color: yellow; font-size:28px;")

 


3 - QLineEdit according to the object approach

import sys
from PyQt5.QtWidgets import QApplication , QWidget, QLineEdit

class MyWindow(QWidget):
    
    def __init__(self , win):
        super().__init__()
        self.win = win
        
    def build(self):
        self.win.setWindowTitle("QLineEdit Exemple")
        self.win.setGeometry(100 , 100 , 500 , 300)
        
        # create a QLineEdit
        self.qLine = QLineEdit(self.win)
        self.qLine.setGeometry(50 , 50 , 250 , 35)
        
if __name__ == '__main__':
    app = QApplication(sys.argv)
    root = QWidget()
    
    mywin = MyWindow(root)
    mywin.build()
    
    root.show()
    sys.exit(app.exec_())
 

4 - Bind an action to the QLineEdit

Now we can bind an action to the QLineEdit that displays the text entered in the QLinEdit field. This action can be associated with the textChanged() method:
import sys
from PyQt5.QtWidgets import QApplication, QLabel , QWidget, QLineEdit

class MyWindow(QWidget):
    
    def __init__(self , win):
        super().__init__()
        self.win = win

    def action(self):
        text = self.qLine.text()
        self.qLabel.setText(text)

    def build(self):
        self.win.setWindowTitle("QLineEdit Exemple")
        self.win.setGeometry(100 , 100 , 400 , 200)
        
        # create a QLineEdit
        self.qLine = QLineEdit(self.win)
        self.qLine.setGeometry(50 , 50 , 250 , 35)

        # add action to the QLineEdit
        self.qLine.textChanged.connect(self.action)

        # creat a QLabel that display the result
        self.qLabel = QLabel('display result here !' , self.win)
        self.qLabel.setGeometry(50 , 100 , 250 , 35)

        
if __name__ == '__main__':
    app = QApplication(sys.argv)
    root = QWidget()
    
    mywin = MyWindow(root)
    mywin.build()
    
    root.show()
    sys.exit(app.exec_())




Younes Derfoufi
my-courses.net

No comments:

Post a Comment

Learn Python For Beginners

Category Of Mobile Courses

Actualités (644) Adsense (1) Affiliation (1) Algebraic Topology (2) Algorithmic (1) all-news (30) Android (5) Android App (8) Android app without code (4) Android Apps (256) Android Development (4) Android download (2) Android OS (3) AngularJS (1) Automata theory and formal language (5) Bootstrap CSS (1) C programming (5) Category and Functor (8) CMS (3) Computer Glossary (18) Create Mobile App With Ionic Framework (2) CSS (2) CSS-Cascading-Style-Sheets (4) Developpement Java (13) Differential Geometry (1) Django-Python-Framework (15) dropshiping (26) Earn Money by Internet (4) Emplois (23) Framework php (2) Fraud (2) Github (2) HTML (7) IT News (3) Java For Beginners (10) Javascript (12) Kotlin Programming Language (8) Kotlin For Mobile Android (1) Linux Download (2) Marketing (5) Mobile (3) Mobile Courses (4) Mobile Marketing (4) MoneyGram (1) News (721) Node.js (5) Open Source (1) Photoshop (1) Protect Computer (1) Python (36) Python BeautifulSoup (1) Python For Data Science (2) Python PyQt (13) Python Reference (1) Python Source Code (3) Python-Books (6) Python-DVD-Training (1) Python-Exercises (297) Python-Framework (1) Python-IDE (1) Python-Kivy-Framework (2) Python-Modules (1) Python-pdf (2) Python-pyQt (1) python-temp (3) Référencement (2) Script PHP (2) Security (6) SEO (1) Snipping Tool: Faq (1) Social Networks (1) Source Code (4) Statistics With SPSS (2) Surveillance Software (1) Travail à domicile (6) Tutoriels php en vidéos (2) Tutoriels-MySql (6) tutoriels-php (19) Utilitaires (1) VPS (1) Web Hosting (1) Webcam (1) Webmarketing (11) Western Union (1) Windows 10 (1) Windows 7 (4) Windows 7 Faq (2) Windows 8 (1) Windows Accessories (1) Windows Download (8) Windows Drivers (1) Windows Fonts (1) Windows Power Shell (2) Windows Registry (2) Windows Security (18) Windows Software (2) Windows Spyware (2) Windows utilities (3) Windows Virus (2) Windows Vista (3) Windows Wireless (1) Windows xp (1) Wordpress (1)
 

Sample text

Sample Text

 
Blogger Templates