Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: sergek от Август 22, 2013, 11:31



Название: [РЕШЕНО] Как убрать маску в QLineEdit::text()?
Отправлено: sergek от Август 22, 2013, 11:31
Коллеги, имеется QLineEdit с маской ввода. Хочется, чтобы маска влияла только на ввод, и не отображалась при выводе методом QLineEdit::text(). Что посоветуете?
Костыль вроде
Код:
    QString mask=lineEdit->inputMask();
    lineEdit->setInputMask("");
    text=lineEdit->text();
    lineEdit->setInputMask(mask);
не помогает, очищает не только маску, но и введенный в редакторе текст.


Название: Re: Как убрать маску в QLineEdit::text()?
Отправлено: gil9red от Август 22, 2013, 12:57
не помогает, очищает не только маску, но и введенный в редакторе текст.
если только в этом дело... то перед очищением маски сохраняйте текст, и после его возвращайте, не? :)


Название: Re: Как убрать маску в QLineEdit::text()?
Отправлено: sergek от Август 22, 2013, 17:22
если только в этом дело... то перед очищением маски сохраняйте текст, и после его возвращайте, не? :)
Не;) Костыль может быть только один...


Название: Re: Как убрать маску в QLineEdit::text()?
Отправлено: sergek от Август 23, 2013, 18:47
Не;) Костыль может быть только один...
Вот такой, например:
Код:
        val=lineEdit->text();
        mask=lineEdit->inputMask();
        if(mask=="99999.N99.9.9999.999.9999")
            val.remove('.');