Вот код:
// Latitude line edit
QLineEdit *lineEdit = new QLineEdit;
lineEdit->setInputMask( ">\N999999.99;_" );
Но я получаю предупреждение компилятора: неизвестная escape-последовательность ‘\ N’
и текст QLineEdit не содержит символа «N», только «_».
Что я делаю неправильно?
Чем вы все заранее.
В C ++ есть набор определенных escape-последовательностей для хранения специальных символов в строке.
Вам на самом деле повезло, что \N
не входит в этот набор, потому что тогда вы даже не получите предупреждение компилятора; текст предупреждения мог заставить вас узнать о escape-последовательности (к сожалению, это не так).
Поскольку \
используется как префикс escape-последовательности, вы не можете использовать ее напрямую; он должен быть экранирован сам по себе:
">\\N999999.99;_"
Это компилируется в один >\N999999.99;_
на выходе.
Других решений пока нет …