Raspberry Pi 3でのGUI開発wxGlade,wxPython
津路です。
先月の投稿では、wxGlade, Kivyなどを取り上げました。
今回も同様です。
wxGlade
wxGladeは、GUI制作専用です。ファイル管理、関数名管理などは行えません。
難点がまた見つかりました。sizerのプロパティは見えますが、sizeやpositionが見えません。
デザイナーでは赤い線がみえるだけ。
探ると、バージョンが古いからかなと推察し、アップデートすることを考えました。まず、Pythonは3.4が入っているのに、wxPythonはwxGladeと一緒に入った3.0.1.1。wxPythonをアップデートすることから始めたいと思います。
wxglade name.wxg
によって、起動し、name.wxgをloadして編集できます。wxglade -g C++ -o directoryname name.wxg
によって、C++ コードを出力できます。
単一の wxg の場合は、directoryname を name に変えます。
また、optionalで、複数のソースファイルに分割して、ソースコードを生成できます。- コンパイル、リンクするには、makefile を作成するほうが早く、管理しやすいです。wx系統のフラグが必要です。
- GUI変更ごとにソースファイルを更新しないと、どこかで変更点が落ちる可能性があると書いてあります。
- クラスや、カラーなどには、C++形式の名前を付けること。
- ASCII以外の文字にはUTF-8を使用すること。
wxPython
wxPythonでは、コーディングによってGUI制作できます。wxWidgetsと同様、APIがわかりやすく、開発は難しくありません。見栄えも良いです。
まず、
import wx
そして、メインはapplicationを宣言してループを回します。
application = wx.App()
frame = wx.Frame(None, wx.ID_ANY, 'テストフレーム', size=(300,300), pos=(0,0))
frame.Show()
application.MainLoop()
例えば、メニューバーを作成するには、menuBar = wx.Menu() でMenuを追加
menuBar = wx.MenuBar()
menuBar.Append(filemenu, "&File")
self.SetMenuBar(menuBar)
とします。
ライセンス:wxWindows Library Licence(LGPL+user terms)