Raspberry Pi 3でのGUI Kivy, wxPython, Code::Blocks
津路です。
Kivy
Kivyにて、ファイルを開く、新規作成、保存できるエディタを作ってみました。
ディレクトリやファイルを参照するには、filechoosericonviewかfilechooserlistviewを選択します。ディレクトリだけというfilterも使えます。
ただ、使ってみた限りでは、上のディレクトリへ移動するのに、1クリックで2階層移動してしまいました。
それ以外は、正常です。
wxPython
wxPythonでもエディタを作ってみました。
こちらは、Kivyのようにレイアウトを分離しなくてよく、wxライブラリを使う点で、プログラムを把握しやすいです。
エディタの構成:TextCtrlを真ん中に、StatusBarを作成し、MenuにMenuBarを追加して、ファイルオープン、保存、終了などの項目を追加します。各項目起動には、wx.EVT_MENUに関数をBindします。ファイル選択には、FileDialogを使います。
Code::Blocks
wxSmithを連携させて使ってみました。
Code::Blocks 13.12です。wxSmithは、0.1という古めかしいバージョンです。
wxSmithを利用するには、codeblocks-contribをインストールします。
インストールすると、spellcheckerのdictionaryをインストールを要求されます。
おすすめは、myspellだそうです。パッケージ管理アプリから、myspellを選択しました。
Code::Blocksを再起動して、hunspellが認識されましたので、ディレクトリを/usr/share/myspell/dictに変更し、online spell checkerをonにしました。
ここで、新規プロジェクトを作成、wxSmithを選択すると、簡単にテンプレートから作成されました。wxsファイルが作成され、メッセージとボタン2個が配置されています。
が、実行するとエラーが発生。
../src/common/sizer.cpp(2091):assert “!(flags &(wxALIGN_RIGHT|wxALIGN_CENTRE_HORIZONTAL))” failed in DoInsert(): Horizontal alignment flags are ignored with wxEXPAND
このエラーは、不要なLine要素の追加コードをコメントしてOKでした。