• ベストアンサー

VS 2022 CommunityでPythonで

フォームアプリケーションを作りたいです。と言ってもやはりVBでフォーム作成してPythonで作ったDLLから関数呼び出したほうが楽ですか? TKinterとかしょぼいコントロールしかないし、VBなら慣れてるし、PythonはこれからですがNumpyとかライブラリが充実しているのでPython慣れたいです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

> AudacityってwxPythonだったんですね。 いや、wxPythonじゃなくってwxWidgetsね。 wxWidgets: Cross-Platform GUI Library: https://wxwidgets.org/ wxWidgetsってのはC++で書かれてて、何もPython専用じゃない。 つまり、言語によって、wxWidgetsとやり取り出来るモノは全部これが利用出来る。 こういうのを「バインディング」と言って、バインディングさえ提供されていればどの言語処理系からでも使う事が出来る。wxPythonはPython用のwxWidgetsのバインディング。 そしてwxWidgetsを利用出来るプログラミング言語は他にも結構多いです(つまりPythonを離れても利用出来る確率は結構ある)。 もう一つは、wxWidgetsはプラットフォームを選ばない(注)んで、wxWidgetsでコードを書けば基本的にWindows、Linux、Mac OS Xのどれでも動くGUIが作れる。 実の事言うとPythonのTkinterもそういう能力があるんだけど、簡易過ぎるのと、あとはベースになってるTcl/tkのGUIデザインがUNIXのX-WindowとかMotifに引きずられ過ぎて「浮いている」。だから「しょぼい」って事になる。 どっちにせよ、基本「Windowsでしか走らない」GUI付きのVBで書いたアプリケーションより、LinuxやMac OS Xに持っていけるwxWidgetsの方が現代では利点が多いと思う。 他には「もっと豪華なGUIを作りたい」って人にはQt Qt: https://www.qt.io/ja-jp/ と、そのsPython用バインディングにはPySideってのがある。 PySide: https://wiki.qt.io/Qt_for_Python こっちは高機能なんだけど、それもあってちとメンド臭い(笑)。 最初はwxPythonに慣れた方がいいと思う。 注: 実は言い過ぎ(笑)。 と言うのも、PC上のOSはWindows、Linux(UNIX)、Mac OS X(UNIX)と3つがメインで、スマホは主にPCの後者の2つがベースとなってるOS(結果UNIXだ)を使ってるんだけど、一方、実はこれ以外にも(メジャーじゃなくても)まだオペレーティングシステムはあるにはあって、全部カバーしてるのか、と言えばそういう保証はない。 写真: Qtに含まれるGUIビルダ。見た目はWindowsでのVisual hogeに近い。

subarist00
質問者

お礼

追加のご教示ありがとうございます。VC++で作ったdllの関数をVB6から読んだ経験があるので同じことができるのかと思ってい調べてみたら、意外と単純でもない(そもそもインタプリタ言語でコンパイル(笑)って)という事が分かってきて、あらためてどういう順序で何を学習したらいいのか調べなおしていました。 QtはとてもVSチックですね。でもまずはwxWidgets始めてみようと思います。挫折したら気分転換によそへ行って、行ったり来たりうろうろしているうちに戻ってきたらできることもよくあります。 良い道しるべをいただきました。感謝します。

その他の回答 (1)

回答No.1

wxPython: https://wxpython.org wxGlade: https://wxglade.sourceforge.net/ wxWidgets でクロスプラットフォーム GUIアプリを作ろう: http://0xcc.net/pub/uu-2004-08/

subarist00
質問者

お礼

ご回答ありがとうございます。すごい! AudacityってwxPythonだったんですね。 初めて知りました。

関連するQ&A