Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Portuguese
  4. Input de dados personalizado em todo a app
QtWS25 Last Chance

Input de dados personalizado em todo a app

Scheduled Pinned Locked Moved Portuguese
4 Posts 2 Posters 1.6k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B Offline
    B Offline
    Brochadinho
    wrote on last edited by
    #1

    La venho eu com as minhas duvidas de newbie =)

    Estou a desenvolver uma aplicacao de facturacao. Que tera imensas caixas de texto e tabelas, sendo que algumas serem iguais mas em pontos diferente da app.

    A minha questao é, qual sera a melhor opcao para eu fazer isso automaticamente. Por exemplo, quero definir varias QlineEdit para receber numero de telemovel. Terei de configurar inputmask e validator em cada uma, ou tenho maneira de definir isto so uma vez e automaticamente aplicar a todas as QlineEdit_telemovel que pretendo?

    1 Reply Last reply
    0
    • T Offline
      T Offline
      TioRoy
      wrote on last edited by
      #2

      Você pode enumerar o parent dos componentes. Mais ou menos assim:

      @
      foreach (QObject *child, ui->centralWidget->children()) {
      if (child->objectName().startsWith("QlineEdit_telemovel")) {
      QLineEdit lineedit = (QLineEdit) child;
      lineedit->setInputMask("XXX");
      }
      }
      @

      1 Reply Last reply
      0
      • B Offline
        B Offline
        Brochadinho
        wrote on last edited by
        #3

        Valeu, não tinha pensado nessa situação. Basicamente acabei por estender as classes dos componentes e definir o que queria la dentro. A qualquer momento posso ir la e alterar os valores e eles seram alterados na aplicação. Mas essa maneira que voceu colocou vai se me ser util pra outras situacoes.

        Ja agora, quando utilizo inputMask, as caixas ficam com um comportamento estranho. O cursor não e´colocado na inicio, mas sim no ponto onde clica, e a introdução começa nesse ponto. Colocando validator, a interacção com a LineEdit fica "normal" .
        Tou tentado fazer um validador por expressão regular para o codigo postal português, seguindo o exemplo da documentação e nao estou a perceber o erro nem como construir a minha expressão.

        @QLineEdit_cp::QLineEdit_cp(QWidget *parent) :
        QLineEdit(parent)
        {
        QRegExp r("^[0-9]{4,4}[-]{1,1}[0-9]{3,3}$"); // queria algo do genero"4560-123"
        QRegExpValidator *v = QRegExpValidator (r,this); //Erro diz que operacao nao pk nao consegue associar um tipo de dados ao outro
        setValidator(v);@

        Obrigado pela ajuda TioRoy

        1 Reply Last reply
        0
        • B Offline
          B Offline
          Brochadinho
          wrote on last edited by
          #4

          Acabei de verificar pelo exemplo do QT, RegExp, que a minha expressao é valida pro que quero. Acho mm que o problema é azelhice da minha parte a definir o validador. Alguem se explica isto de forma simples? achei a documentacao mt complexa para entender, ela vai logo nos ensinar a correr quando nem sequer sabemos andar.

          1 Reply Last reply
          0

          • Login

          • Login or register to search.
          • First post
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • Users
          • Groups
          • Search
          • Get Qt Extensions
          • Unsolved