16

Qt で Cairo グラフィック ライブラリを使用したいのですが、ドキュメントが見つかりません。Qt で GUI を作成し、Cairo を使用して Qt ウィンドウでグラフィックを描画したいだけです。

ありがとう。

4

5 に答える 5

13

cairo 1.17.8 から、Qt サポートはアップストリームで削除されます。

古い答え

cairo の最近のバージョンは、で作成されたサーフェスに描画できるようにすることで Qt をサポートしています。ここでcairo_qt_surface_create(QPainter *painter)関連するヘッダー ファイルを調べることができます。この機能はまだ実験的であり、デフォルトで無効になっているため、ドキュメントはありません ( .configure --enable-qt

于 2009-10-29T23:52:55.977 に答える
8

Qt の Paint Systemは非常に優れた描画ライブラリであり、ベクターベースです。そして、それはすでにそこにあります。Qt を GUI ツールキットとして選択すると、これ以上簡単になることはありません。

于 2009-10-29T02:03:38.843 に答える
4

警告: これはあなたが探している答えにはなりません。

本当にこれが欲しいですか?何のために?QPaintDeviceこれはカイロに基づいて書くことについてですか?Qt には独自のグラフィックス プリミティブが実装されており、Cairo も同様です。私が見ることができる唯一の理由は、Qtの重いレイヤーがシステムに干渉したくないということです(組み込み?)。Cairo の DirectFB バックエンドを使用しようとしているようですが、Qt-on-DirectFB のようなものがあります。ただし、そのような実装はコストがかかり、ライブラリ相互運用の問題、このカイロベースのコンテキストからの印刷など、独自のクォークのセットがなければ無料ではないことに注意してください。Googleで定期的に検索して、そのような努力が/これまで進行中であり、同じことを試みる前に、長所と短所を非常に重く検討しました.

于 2009-10-28T20:57:02.583 に答える
1

これは、次の汚い方法で実現できます。

  1. cairo イメージ サーフェスを作成し、そのサーフェス上に描画します。
  2. cairo_image_surface_get_data() を呼び出してピクセルを取得します。
  3. 画像を Qt ウィジェットにコピーします。
于 2014-05-07T12:30:37.470 に答える