私は特に、米国の州の地図を表示し、それぞれの州の色、クリック、およびマウスオーバーを個別に制御できるという意味で、それぞれを独自の「オブジェクト」として表示できるものを探しています。GTK は私の個人的な好みですが、この時点ではほぼ何でも構いません。アプリケーション自体は Python、FWIW で作成されます。
5 に答える
PyQtでQGraphicsViewを使用できます。各状態はnewQGraphicsItem
であり、ビットマップまたはパスオブジェクトのいずれかです。アウトライン(またはビットマップ)と状態の位置を指定する必要があります。
州のSVGがある場合は、それらも使用できます。
GTK+で一般的に受け入れられているキャンバスクラスはありません。
Qt を検討している場合は、kdelibs 依存関係を投入することも検討してください。そうすれば、マップをきれいに処理する大理石のウィジェットができます。
Qt のみに固執する場合は、QGraphicsView が最適なフレームワークです。
(注: kdelibs != kde デスクトップ全体を実行)
Qtを検討する場合は、kdelibs依存関係をスローすることも検討してください。そうすれば、マップを適切に処理する大理石のウィジェットができあがります。
マーブルを宣伝してくれてありがとう。しかし、あなたは間違っています:
MarbleWidgetはkdelibsにまったく依存していません。Qt(> = 4.3)に依存します。
さらに、MarbleもPythonバインディングを受け取ったばかりです。
与えられた問題はMarbleを使用して解決できると思います。最大で数日かかるだけです。Marbleについて質問がある場合は、メーリングリストまたはIRCでお気軽にお問い合わせください。
Quantum GISを使用できます。QGIS は、Qt フレームワークを使用したオープン ソースの地理情報システムです。
QGIS は Python でも使用できます。Python で記述されたプラグインで拡張するか、PyGIS Python バインディングを使用して独自のアプリケーションを記述できます。
彼らには、開発者向けの優れた情報を含む Wiki があります。
QGIS はあなたの目的には重すぎるかもしれませんが、とにかく完成させるためにここに追加します。
クイックヒント。各状態の色を変えると、ポリゴンルーチンで複雑なポイントを実行するのではなく、マウスカーソルの下の色からどの状態を選択するかを識別できます。