QLineEdit :: setInputMask (const QString & mask) — не работает

Вот код:

// Latitude line edit
QLineEdit *lineEdit = new QLineEdit;
lineEdit->setInputMask( ">\N999999.99;_" );

Но я получаю предупреждение компилятора: неизвестная escape-последовательность ‘\ N’
и текст QLineEdit не содержит символа «N», только «_».
Что я делаю неправильно?
Чем вы все заранее.

0

Решение

В C ++ есть набор определенных escape-последовательностей для хранения специальных символов в строке.

Вам на самом деле повезло, что \N не входит в этот набор, потому что тогда вы даже не получите предупреждение компилятора; текст предупреждения мог заставить вас узнать о escape-последовательности (к сожалению, это не так).

Поскольку \ используется как префикс escape-последовательности, вы не можете использовать ее напрямую; он должен быть экранирован сам по себе:

">\\N999999.99;_"

Это компилируется в один >\N999999.99;_ на выходе.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]