Qt 如何将Unicodes的QString转换为int?对于QWSServer sendKeyEvent

Qt 如何将Unicodes的QString转换为int?对于QWSServer sendKeyEvent,qt,qstring,qchar,Qt,Qstring,Qchar,如何将仅由一个unicode组成的QString转换为QChar和char 我有这个角色塞迪拉。 我对QChar还没有任何概念,但我尝试使用这段代码将QString转换为char char c[2]; strcpy(c, keyItem.contentText.toUtf8().constData()); printf("Character is: %c\n", c[0]); 但它显示了这个特点� 我的“keyItem”是一个类,contentText返回一个QString,尽管只有一个字符

如何将仅由一个unicode组成的QString转换为QChar和char

我有这个角色塞迪拉。

我对QChar还没有任何概念,但我尝试使用这段代码将QString转换为char

char c[2];
strcpy(c, keyItem.contentText.toUtf8().constData());
printf("Character is: %c\n", c[0]);
但它显示了这个特点�

我的“keyItem”是一个类,contentText返回一个QString,尽管只有一个字符。当我试着返回通常的信件时,我能正确地阅读它们

更新:我正在尝试创建一个键盘,我必须得到QString的int值,这就是为什么我必须首先将它转换为char

我将使用它来创建键盘

send(int(c[0]);
void send(int key){ 
    QWSServer::sendKeyEvent(key, key, 0, true, false);
}

无论如何,谢谢你。我现在找到了解决办法

QChar c;
c = keyItem.contentText[0];
send(c.unicode());

:)

无论如何,谢谢你。我现在找到了解决办法

QChar c;
c = keyItem.contentText[0];
send(c.unicode());

:)

您正在使用什么操作系统?为什么要这样做?QString已经是Unicode。因为AFAIK
printf
不打印ok UTF-8字符。例如,在Windows上,您有打印unicode的
wprintf
,这就是为什么操作系统很重要,因为这些功能可能因操作系统而异。我实际上使用的是POS设备,我使用的是“调试”功能,有点像printf。我在linux桌面上编程,但它在我的桌面上返回的方式是这样的。我像printf
DEBUG一样使用这个函数(“字符是:%c\n”,c[0])您正在使用什么操作系统?为什么要这样做?QString已经是Unicode。因为AFAIK
printf
不打印ok UTF-8字符。例如,在Windows上,您有打印unicode的
wprintf
,这就是为什么操作系统很重要,因为这些功能可能因操作系统而异。我实际上使用的是POS设备,我使用的是“调试”功能,有点像printf。我在linux桌面上编程,但它在我的桌面上返回的方式是这样的。我像printf
DEBUG一样使用这个函数(“字符是:%c\n”,c[0])