2014-03-19 34 views
0

下面是代碼:QLineEdit的:: setInputMask(常量QString的&面罩) - 不工作

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

但是,我得到的編譯器警告:未知的轉義序列 '\ n' 和QLineEdit的文本不包含'N'字符,只有'_'。 我在做什麼錯? 比你提前。

+0

TBH,你做了什麼錯的是不敢仰視術語「轉義序列」。 –

回答

2

在C++中,存在一組定義的轉義序列的特殊字符存儲爲一個字符串。

你真的很幸運\N不在這個集合內,因爲那樣你甚至不會得到編譯器警告;警告的文本​​可能讓你瞭解轉義序列(不幸的是,它沒有)。

因爲\用於前綴一個轉義序列,你不能直接使用它;它已經進行轉義本身:

">\\N999999.99;_" 

這編譯成輸出一個>\N999999.99;_

相關問題