(#1 から続く)
マルチプラットフォームのためには、この便利なやつ、winforms.pyはあきらめるしかないのでしょうか?
それはちょっとなあ、ということで試行錯誤。
結局、
winforms.pyの1つ目の利点は使うが、2つ目の利点は使わない
というところで妥協することにしました。
具体的には、
(1) Windowsマシン上で開発し、winforms.pyを使って対話モードでGUIを作る。
(2) ただし、最終的なコードではwinforms.pyを取り除けるようにするため、winforms.*といった名前を使わない。
あるいは、(2)の代案として、
(2') 最終的なコードがUbuntuでも実行できるようにするため、パッケージ名のショートカットの部分だけを提供するような偽winforms.pyを用意する。
という風にすれば良さそう(少なくとも小さなサンプルを2, 3試した限りでは)。
実際には、Monoと.Netとでは機能の有無以外にも「ちょっとした」振る舞いの違いとかがありそうなので、コードがUbuntuでも動作するかどうか、開発中はこまめにチェックする必要があると思います、と但し書きを付けておきます。
ちなみに。
いろいろやってるうちに気がついたのですが、(PYTHONPATHのIronPython版である)環境変数IRONPYTHONPATHでは、パス区切り文字が「¥」ではなく「/」とするらしい。
IronPythonのチュートリアルのディレクトリに入っているwinforms.pyにパスを通すには、
set IRONPYTHONPATH=C:/Program Files/IronPython 2.0.1/Tutorial
となります。違和感ある。
マルチプラットフォームのためには、この便利なやつ、winforms.pyはあきらめるしかないのでしょうか?
それはちょっとなあ、ということで試行錯誤。
結局、
winforms.pyの1つ目の利点は使うが、2つ目の利点は使わない
というところで妥協することにしました。
具体的には、
(1) Windowsマシン上で開発し、winforms.pyを使って対話モードでGUIを作る。
(2) ただし、最終的なコードではwinforms.pyを取り除けるようにするため、winforms.*といった名前を使わない。
あるいは、(2)の代案として、
(2') 最終的なコードがUbuntuでも実行できるようにするため、パッケージ名のショートカットの部分だけを提供するような偽winforms.pyを用意する。
という風にすれば良さそう(少なくとも小さなサンプルを2, 3試した限りでは)。
実際には、Monoと.Netとでは機能の有無以外にも「ちょっとした」振る舞いの違いとかがありそうなので、コードがUbuntuでも動作するかどうか、開発中はこまめにチェックする必要があると思います、と但し書きを付けておきます。
ちなみに。
いろいろやってるうちに気がついたのですが、(PYTHONPATHのIronPython版である)環境変数IRONPYTHONPATHでは、パス区切り文字が「¥」ではなく「/」とするらしい。
IronPythonのチュートリアルのディレクトリに入っているwinforms.pyにパスを通すには、
set IRONPYTHONPATH=C:/Program Files/IronPython 2.0.1/Tutorial
となります。違和感ある。