QLineEdit :: setInputMask(const QString& mask) - 不起作用

时间:2014-03-19 12:39:41

标签: c++ qt qlineedit input-mask

以下是代码:

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

但是,我收到编译器警告:未知转义序列'\ N' 和QLineEdit文本不包含'N'字符,仅包含'_'。 我究竟做错了什么? 比你所有人提前。

1 个答案:

答案 0 :(得分:2)

在C ++中,有一组定义的转义序列可以将特殊字符存储到字符串中。

你很幸运\N不属于这个集合,因为那时你甚至不会得到编译器警告;警告的内容可能会让你了解转义序列(不幸的是,它并没有)。

因为\用于为转义序列添加前缀,所以不能直接使用它;它必须自行逃脱:

">\\N999999.99;_"

这会在输出中编译为单个>\N999999.99;_