PyQT / Tkinter / wxPythonを使用してPython for ArcGISジオプロセシングでGUIを開発していますか?


13

Python for ArcGISジオプロセシングでGUIを開発したい。

ArcGISでGUIプログラミングにPyQTを使用できますか?

TkinterとwxPythonの使用も検討しました。

回答:


21

ジオプロセシングに独自のGUIを使用する必要性について疑問を呈します。

ジオプロセシングツールのアイデアは、標準インターフェイス(メッセージと進行状況ダイアログが有効になっている場合はGP進行状況ダイアログ、パラメーターを設定してツールを実行するためのGPツールダイアログなど)を通過することです。そのすべてを回避しようとするユースケース。

全体として、それはあなたにとって何が最もうまくいくかという問題です。

  1. Tkinterはビルトインですが、洗練されたものを実行するのはto​​くて難しいのですが、UIを作成すると、ほとんどどこでも実行できます。
  2. WXとPyQtは、両方あるの近くに wxPythonの例から学ぶことは素晴らしいですし、QTの開発ツールは、少しよりよいですが、機能的に同等。両方のAPIを見て、どちらを使用するのが適切かを判断します。

PyQTは、ArcMapや、WxやTkよりも独自のイベントループを備えた他のプログラムで、わずかに安定した方法で動作するようだとは言いませんでした。WxおよびTkプログラムは、プロセスで実行されている唯一のuiスレッドであると予想される傾向があり、他のGUIプログラムのイベントループと誤動作します。


8

私はJasonと一緒にいます-ArcGISジオプロセシングの進行ダイアログ(少なくとも9.3.1では10についてはわかりません)を少しカスタマイズしてニーズに合わせて調整できるため、ジオプロセシングGUIの必要性を本当に考慮する必要があります(追加メッセージ、ログファイル、プログレスバーなど)。

私の経験から、Tkinterは理解しやすいですが、非常にすぐに使える設計が必要な場合は複雑です。また、ArcGISとの相互作用がうまくいかなかった場合もあります(ウィンドウが消えるなど)。Tkinterに基づいたEASYGUIと呼ばれる「単純化された」GUIライブラリがあります。少し遊んでみたところ、Tkinterよりもずっと使いやすいことがわかりました。


4

私はあなたがやりたいこと、そしてジェイソンの権利を試しました-組み込みのツールを使用してください。Arcmapプロセス内でPython GUIウィジェットのセットを実行しようとすると、さまざまな種類の問題が発生します。私は試してみました。プロセスの外でGUIを実行し、ツールを実行するためにIGeoprocessorを使用して、COM Arcobjectsを介してArcmapに戻るのが最適です。ただし、オブジェクトがジオプロセシングツールとスクリプトを実行しているだけの場合、独自のツールボックスツールを構築し、標準のツールインターフェイスを使用するよりもはるかに良いことはできません。


2

.NETまたはMonoでGUIを構築してから、Processオブジェクトを介してPythonスクリプトを実行できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.