PyQt - Widget QLineEdit

QLineEditobject est le champ de saisie le plus couramment utilisé. Il fournit une boîte dans laquelle une ligne de texte peut être saisie. Afin de saisir du texte multiligne,QTextEdit objet est requis.

Le tableau suivant répertorie quelques méthodes importantes de la classe QLineEdit -

Vous trouverez ci-dessous les méthodes les plus couramment utilisées de QLineEdit.

Sr.No. Méthodes et description
1

setAlignment()

Aligne le texte selon les constantes d'alignement

Qt.AlignLeft

Qt.AlignRight

Qt.AlignCenter

Qt.AlignJustify

2

clear()

Efface le contenu

3

setEchoMode()

Contrôle l'apparence du texte à l'intérieur de la zone. Les valeurs d'échomode sont -

QLineEdit.Normal

QLineEdit.NoEcho

QLineEdit.Password

QLineEdit.PasswordEchoOnEdit

4

setMaxLength()

Définit le nombre maximum de caractères pour la saisie

5

setReadOnly()

Rend la zone de texte non modifiable

6

setText()

Définit le texte par programme

sept

text()

Récupère le texte dans le champ

8

setValidator()

Définit les règles de validation. Les validateurs disponibles sont

QIntValidator - Restreint l'entrée à un entier

QDoubleValidator - Partie de fraction du nombre limitée aux décimales spécifiées

QRegexpValidator - Vérifie l'entrée par rapport à une expression Regex

9

setInputMask()

Applique un masque de combinaison de caractères pour la saisie

dix

setFont()

Affiche le contenu de l'objet QFont

L'objet QLineEdit émet les signaux suivants -

Vous trouverez ci-dessous les méthodes de signaux les plus couramment utilisées.

Sr.No. Méthodes et description
1

cursorPositionChanged()

Chaque fois que le curseur bouge

2

editingFinished()

Lorsque vous appuyez sur 'Entrée' ou que le champ perd le focus

3

returnPressed()

Lorsque vous appuyez sur 'Entrée'

4

selectionChanged()

Chaque fois que le texte sélectionné change

5

textChanged()

Au fur et à mesure que le texte de la boîte change par saisie ou par programme

6

textEdited()

Chaque fois que le texte est modifié

Exemple

Les objets QLineEdit de cet exemple illustrent l'utilisation de certaines de ces méthodes.

Premier champ e1affiche le texte en utilisant une police personnalisée, dans l'alignement à droite et permet la saisie d'entiers. Le deuxième champ restreint l'entrée à un nombre avec 2 chiffres après la virgule décimale. Un masque de saisie pour saisir le numéro de téléphone est appliqué sur le troisième champ. signal textChanged () sur le terraine4 est connecté à la méthode de slot textchanged ().

Contenu de e5sont répercutés sous forme de mot de passe car sa propriété EchoMode est définie sur Mot de passe. Son signal editfinished () est connecté à la méthode presenter (). Ainsi, une fois que l'utilisateur appuie sur la touche Entrée, la fonction est exécutée. Le champe6 affiche un texte par défaut, qui ne peut pas être modifié car il est défini en lecture seule.

import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *

def window():
   app = QApplication(sys.argv)
   win = QWidget()
	
   e1 = QLineEdit()
   e1.setValidator(QIntValidator())
   e1.setMaxLength(4)
   e1.setAlignment(Qt.AlignRight)
   e1.setFont(QFont("Arial",20))
	
   e2 = QLineEdit()
   e2.setValidator(QDoubleValidator(0.99,99.99,2))
	
   flo = QFormLayout()
   flo.addRow("integer validator", e1)
   flo.addRow("Double validator",e2)
	
   e3 = QLineEdit()
   e3.setInputMask('+99_9999_999999')
   flo.addRow("Input Mask",e3)
	
   e4 = QLineEdit()
   e4.textChanged.connect(textchanged)
   flo.addRow("Text changed",e4)
	
   e5 = QLineEdit()
   e5.setEchoMode(QLineEdit.Password)
   flo.addRow("Password",e5)
	
   e6 = QLineEdit("Hello Python")
   e6.setReadOnly(True)
   flo.addRow("Read Only",e6)
	
   e5.editingFinished.connect(enterPress)
   win.setLayout(flo)
   win.setWindowTitle("PyQt")
   win.show()
	
   sys.exit(app.exec_())

def textchanged(text):
   print "contents of text box: "+text
	
def enterPress():
   print "edited"

if __name__ == '__main__':
   window()

Le code ci-dessus produit la sortie suivante -

contents of text box: h
contents of text box: he
contents of text box: hel
contents of text box: hell
contents of text box: hello
editing finished