PyQt QLine

Resumo : neste tutorial, você aprenderá como usar o QLineEditwidget PyQt para criar um widget de entrada de texto de linha única.

Introdução ao widget PyQt QLineEdit

O PyQt QLineEditpermite criar um widget de entrada de texto de linha única. Normalmente, você usará o QLineEditem um formulário de entrada de dados.

Na prática, você costuma usar o QLineEditwidget com um QLabelwidget.

Para criar um QLineEditwidget, siga estas etapas.

Primeiro, importe QLineEditdo PyQt6.QtWidgetsmódulo:

from PyQt6.QtWidgets import QLineEditLinguagem de código:  Python  ( python )

Segundo, crie um novo QLineEditobjeto 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 QLineEditwidget.

1) Exemplo simples de PyQt QLineEdit

O programa a seguir mostra como criar um QLineEditwidget:

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 QLineEditwidget 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 QLineEditwidget uma entrada de senha, você define echoModecomo 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 QCompleterfrom PyQt6.QtWidgets.

Segundo, crie um QCompleterwidget 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 QLineEdite 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 QLineEditwidget 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 QLineEditpara criar um widget de entrada de linha única.
  • Use a echoModepropriedade para alterar a forma como o texto é exibido.
  • Use o QLineEditwidget com um widget QCompleter para suportar o recurso de preenchimento automático.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *