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

标签 c++ qt qlineedit input-mask

代码如下:

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

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

最佳答案

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

您实际上很幸运 \N 不在此集合中,因为那样您甚至不会收到编译器警告;警告文本可能会让您了解转义序列(不幸的是,它没有)。

因为\是用来作为转义序列前缀的,不能直接使用;它必须自己转义:

">\\N999999.99;_"

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

关于c++ - QLineEdit::setInputMask( const QString &mask ) - 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22506121/

相关文章:

c++ - 将 Visual Basic 6 项目转换为 Qt/C++

c++ - windows下的Qt Application和window Icon

c++ - Qt 5.9 中的 QML 崩溃 - 帮助读取堆栈跟踪

c++ - inputMask 用空格填充 QLineEdit

python - Pyside:QLineEdit 接受多个输入

c++ - 如何从 QListView 中搜索和选择项目?

c++ - 为什么 C++ 允许我们在声明变量时将变量名括在括号中?

c++ - 带有 gcc 7.3 的 __atomic_fetch_or 的意外 x64 程序集

c++ - 如何在 Visual Studio 2010 中使用互斥锁

c++ - weak_ptr 是否与 unique_ptr 一起工作?