2016-06-23 10 views
2

ここに事があります。私は私の勤務先のQtチャットアプリケーションを作成しました。 lanに接続されたクライアントのみが対象です。私は丸められた長方形である泡の中のメッセージのためにQGraphicsTextItemを使ってこれを実装しました。QGraphicsTextItemで絵文字を描画するには?

本当に完成するには、emojisを追加する必要があります。すべてのチャットのようなアプリケーションにはそれらがあります。私がそれらを実装する方法を知らないということです。私は彼らがユニコードスタンドの一部であることを読んだ。 (このリンクのUnicodeコードはhttp://unicode.org/emoji/charts/full-emoji-list.htmlです)、QGraphicsTextItemでレンダリングする方法はわかりません。それも可能ですか?

私は、非常に手作業でユーザーストリングを分離し、実際に複数のテキスト項目を使用して、emojis yで区切られた文字列の部分をレンダリングし、次に絵文字自体を別のグラフィックエンティティとしてレンダリングできますが、もし私がそれを避けることができれば。

アイデア?

答えて

0

emojisは単なる文字で、他の文字と同じように、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リッチテキストを活用してこれらの文字のフォントサイズを変更することができます。複数のフォントがある場合は、別の絵フォントから選択することもできます。 –

関連する問題