2014-11-20 10 views
1

QString과 QChar로 구성된 QString을 어떻게 변환 할 수 있습니까?QString을 유니 코드 용 int로 변환하려면 어떻게해야합니까? QWSServer 용 sendKeyEvent

나는이 문자 세 딜라를 가지고 있습니다. http://graphemica.com/%C3%A7

QChar에 대해 아직 알지 못하지만 QString을 char로 변환하는 데이 코드를 사용해 보았습니다.

char c[2]; 
strcpy(c, keyItem.contentText.toUtf8().constData()); 
printf("Character is: %c\n", c[0]); 

하지만이 문자

내 'keyItem'을 보여준다는 클래스이며, 단 하나 개의 문자가 비록 contentText는 QString를 반환합니다. 평소의 편지를 되 찾으려고 할 때 나는 그것을 읽을 수있었습니다.

업데이트 : 키보드를 만들려고하고 있는데 QString의 int 값을 가져와야합니다. 그래서 QString을 char로 먼저 변환해야합니다.

키보드를 만들 때이 키를 사용합니다.

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

을 사용하고있는 OS? – Iuliu

+0

왜 이럴 수 있니? QString은 이미 유니 코드입니다. – MrEricSir

+0

AFAIK'printf'는 ok UTF-8 문자를 인쇄하지 않기 때문에. 그리고 Windows에서 AFAIK는 예를 들어 유니 코드를 인쇄하기 위해'wprintf'를 가지고 있습니다 ... 그래서 OS에 따라이 기능들이 다를 수 있기 때문에 OS가 중요한 이유입니다. – Iuliu

답변

4

고마워. 솔루션을 찾았습니다.

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

: 당신이