Input de dados personalizado em todo a app
-
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?
-
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");
}
}
@ -
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
-
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.