Publicado em Exemplos Qt, Programação, Qt

Como utilizar uma expressão regular associada a um QLineEdit (Qt)

expreg

Já tinha publicado um artigo sobre este assunto em 2009 (Validação de strings utilizando expressões regulares – C++/Qt) mas, desta vez, pretendo conseguir uma abordagem mais simples.

Em primeiro lugar convém saber o que é uma expressão regular.

No caso concreto deste exemplo, uma expressão regular será uma cadeia de carateres que define o tipo de informação que será aceite num objeto instanciado a partir da classe QLineEdit, ou seja, uma daquelas caixinhas de texto que aparece na interface gráfica.

No exemplo que dou estão contemplados alguns casos muito elementares, pelo que recomento uma pesquisa mais alargada sobre o tema.

A este respeito vou destacar apenas uma linha ( obter o código fonte ), correspondente ao exemplo da matrícula do automóvel.

ui->lineEdit_7->setValidator(new QRegExpValidator (QRegExp("[A-Za-z0-9\\._-]+@[A-Za-z]+\\.[A-Za-z]+"), this));

Algumas notas:

  • ui->lineEdit_7 corresponde ao nome escolhido para a caixa de texto que irá receber a matrícula do automóvel;
  • por se tratar de uma matrícula posterior a 2005, as letras ocupam o lugar central;
  • cada par de números ou letras é obrigatoramente separado pelo carater ‘-‘;
  • esta expressão não aceita letras minúsculas.
  • [0-9]{2,2} significa que terão que ser digitados exatamente dois algarismos, compreendidos entre 0 e 9;
  • [A-Z]{2,2} significa que terão que ser digitadas exatamente duas letras maiúsculas, compreendidas entre A e Z.

Naturalmente que não ficam aqui esgotadas todas as possibilidades, pelo que agradeço novos contributos na forma de comentários.

Anúncios

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s