2015-10-21 18 views
0

我想在屏幕上顯示一個存儲在QLabel對象中的文本,但我遇到了一些轉換問題。 當我按下我的屏幕鍵盤上的某個鍵(QPushButton)時,該字符應附加到我的QLabel。這是我的方法:Qt中我的字符集有什麼問題?

void LoginKeyboard::setDigit(QChar digit) 
{ 
    ui->loginInput->setText(text.append(digit)); 
} 

void LoginKeyboard::on_Auth_letter_OE_clicked() 
{ 
    setDigit('Ö'); 
} 

當我運行我的程序,並按照我說的做,它顯示了一些奇怪的跡象。我也得到QT警告說

multi-character character constant [-Wmultichar] 
setDigit('Ä'); 

我看過一些類似的#1課題,但解決方案並沒有爲我工作了。一個建議是將我的編碼更改爲QT中的utf-8,我已經在我的Qt中配置了這種方式,當我設置它時。也沒有解決。 我也不明白爲什麼我的控制檯顯示與我的Qlabel不同的標誌,當我使用cout打印字符時。任何人都可以幫忙嗎? 在此先感謝

+0

嘗試在字符文字之前添加「L」?又名'L'Ö'' –

+1

你的源文件是以UTF-8格式保存的嗎? –

+0

哈哈,這個L的東西解決了:D:D:D非常感謝你! – Greenfish

回答

0

感謝@Drew McGowen我解決了這個問題。答案很簡單,在charactar文字之前添加一個L

+0

我認爲你在Windows上呢? – MrEricSir