2016-06-23 1 views
2

여기 있습니다. 내 Qt 채팅 응용 프로그램을 만들었습니다. lan 연결 클라이언트에만 해당됩니다. QGraphicsTextItem을 둥근 직사각형 인 거품 내부의 메시지에 사용하여 구현했습니다.QGraphicsTextItem으로 그림 이모티콘을 렌더링하는 방법?

정말로 그것을 완성하려면 emojis를 추가해야합니다. 모든 채팅과 유사한 응용 프로그램에 이러한 응용 프로그램이 있습니다. 것은 그들을 구현하는 방법을 모른다. 나는 그들이 유니 코드 standad의 일부라는 것을 읽었습니다. (이 링크에 대한 유니 코드 코드는 http://unicode.org/emoji/charts/full-emoji-list.html이라는 것을 증명합니다), QGraphicsTextItem에서 어떻게 렌더링하는지 모르겠습니다. 심지어 가능할까요?

사용자 문자열을 분리하고 실제로 여러 개의 텍스트 항목을 사용하여 emojis y로 구분 된 문자열을 렌더링 한 다음 이모티콘을 별도의 그래픽 엔티티로 렌더링 할 수는 있지만 오히려하지 않습니다. 내가 그것을 피할 수 있다면.

아이디어가 있으십니까?

답변

0

아무 것도 할 필요가 없습니다. 예를 들어 문자가 단순한 문자이기 때문에 다른 문자와 마찬가지로 page you cited의 '눈썹'열에서 복사하여 붙여 넣을 수 있습니다. 이 답변에서 (이모티콘 포함!). 정상적인 컴파일러는 소스가 UTF-8로 인코딩되어 있다고 가정하며 대부분의 편집자와 마찬가지로 투명합니다. 관련 글꼴이 설치된 경우 제대로 작동합니다.

// https://github.com/KubaO/stackoverflown/tree/master/questions/emoji-text-item-38000855 
#include <QtWidgets> 

int main(int argc, char ** argv) { 
    QApplication app{argc, argv}; 
    QGraphicsScene scene; 
    QGraphicsView view{&scene}; 
    QGraphicsTextItem item{QStringLiteral("I'm a happy . ")}; 
    scene.addItem(&item); 
    view.ensureVisible(scene.sceneRect()); 
    view.show(); 
    return app.exec(); 
} 
+0

예. 방금 복사하여 이마에서 응용 프로그램에 붙여 넣은 것입니다. 그러나 그것은 너무 작았고 솔직하게 끔찍해 보였다. 그러나 그것은 또 다른 문제입니다. 고맙습니다. – aarelovich

+0

@aarelovich 리치 텍스트를 활용하여 이러한 문자의 글꼴 크기를 변경할 수 있습니다. 둘 이상의 글꼴이있는 경우 대체 이모티콘 글꼴에서 선택할 수도 있습니다. –