Resumo : neste tutorial, você aprenderá como usar o QLineEdit
widget PyQt para criar um widget de entrada de texto de linha única.
Introdução ao widget PyQt QLineEdit
O PyQt QLineEdit
permite criar um widget de entrada de texto de linha única. Normalmente, você usará o QLineEdit
em um formulário de entrada de dados.
Na prática, você costuma usar o QLineEdit
widget com um QLabel
widget.
Para criar um QLineEdit
widget, siga estas etapas.
Primeiro, importe QLineEdit
do PyQt6.QtWidgets
módulo:
from PyQt6.QtWidgets import QLineEdit
Linguagem de código: Python ( python )
Segundo, crie um novo QLineEdit
objeto que use:
- Sem argumentos.
- Com apenas um widget pai.
- Ou com um valor de string padrão como primeiro argumento.
Por exemplo:
line_edit = QLineEdit('Default Value', self)
Linguagem de código: Python ( python )
Além disso, você pode usar as seguintes propriedades adicionais:
Propriedade | Tipo | Descrição |
---|---|---|
texto | corda | O conteúdo da edição de linha |
readOnly |
boleano | Verdadeiro ou falso. Se True, a edição da linha não pode ser editada |
clearButtonEnabled |
boleano | True para adicionar um botão limpar |
placeholderText |
corda | O texto que aparece quando a linha de edição está vazia |
maxLength |
inteiro | Especifique o número máximo de caracteres que podem ser inseridos |
echoMode |
QLineEdit .EchoMode |
Altere a forma como o texto é exibido, por exemplo, senha |
Exemplos de widgets PyQt QLineEdit
Vejamos alguns exemplos de uso do QLineEdit
widget.
1) Exemplo simples de PyQt QLineEdit
O programa a seguir mostra como criar um QLineEdit
widget:
import sys
from PyQt6.QtWidgets import (
QApplication,
QWidget,
QLineEdit,
QVBoxLayout
)
class MainWindow(QWidget):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.setWindowTitle('PyQt QLineEdit Widget')
self.setGeometry(100, 100, 320, 210)
search_box = QLineEdit(
self,
placeholderText='Enter a keyword to search...',
clearButtonEnabled=True
)
# place the widget on the window
layout = QVBoxLayout()
layout.addWidget(search_box)
self.setLayout(layout)
# show the window
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
sys.exit(app.exec())
Linguagem de código: Python ( python )
Saída:
2) Usando o PyQt QLineEdit para criar uma entrada de senha
O programa a seguir cria um novo QLineEdit
widget como entrada de senha:
import sys
from PyQt6.QtWidgets import (
QApplication,
QWidget,
QLineEdit,
QVBoxLayout
)
class MainWindow(QWidget):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.setWindowTitle('PyQt QLineEdit Widget')
self.setGeometry(100, 100, 320, 210)
password = QLineEdit(self, echoMode=QLineEdit.EchoMode.Password)
# place the widget on the window
layout = QVBoxLayout()
layout.addWidget(password)
self.setLayout(layout)
# show the window
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
sys.exit(app.exec())
Linguagem de código: Python ( python )
Para tornar o QLineEdit
widget uma entrada de senha, você define echoMode
como QLineEdit
. EchoMode.Password
:
password = QLineEdit(self, echoMode=QLineEdit.EchoMode.Password)
Linguagem de código: Python ( python )
Saída:
3) Usando o PyQt QLineEdit com o recurso de preenchimento automático
Para criar uma entrada com o recurso de preenchimento automático, siga estas etapas:
Primeiro, importe o módulo QCompleter
from PyQt6.QtWidgets
.
Segundo, crie um QCompleter
widget com uma lista de strings usadas para o recurso de preenchimento automático:
completer = QCompleter(word_list)
Linguagem de código: Python ( python )
Terceiro, crie um QLineEdit
e chame seu setCompleter()
método com o objeto completo:
line_edit = QLineEdit(self)
line_edit.setCompleter(completer)
Linguagem de código: Python ( python )
Por exemplo, o programa a seguir mostra um QLineEdit
widget com recurso de preenchimento automático:
import sys
from PyQt6.QtWidgets import (
QApplication,
QWidget,
QLineEdit,
QVBoxLayout,
QCompleter
)
class MainWindow(QWidget):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.setWindowTitle('PyQt QLineEdit Widget')
self.setGeometry(100, 100, 320, 210)
common_fruits = QCompleter([
'Apple',
'Apricot',
'Banana',
'Carambola',
'Olive',
'Oranges',
'Papaya',
'Peach',
'Pineapple',
'Pomegranate',
'Rambutan',
'Ramphal',
'Raspberries',
'Rose apple',
'Starfruit',
'Strawberries',
'Water apple',
])
fruit = QLineEdit(self)
fruit.setCompleter(common_fruits)
# place the widget on the window
layout = QVBoxLayout()
layout.addWidget(fruit)
self.setLayout(layout)
# show the window
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
sys.exit(app.exec())
Linguagem de código: Python ( python )
Saída:
Resumo
- Use
QLineEdit
para criar um widget de entrada de linha única. - Use a
echoMode
propriedade para alterar a forma como o texto é exibido. - Use o
QLineEdit
widget com um widget QCompleter para suportar o recurso de preenchimento automático.