(2007.5.1) 以前書いた文書を整えて公開。
(2008.9.14) 更新。
概要
Windows, UNIX (Linux) の両方で動くアプリケーションを開発したいとき、何かGUIツールキットを選ばなければいけません。
ツールキットはある程度枯れていないと手を出しづらいです。選択肢としては、
- gtk+
- Win32 API, UNIXではWineで
- wxWidgets
wxWidgetsは、クロスプラットフォームのGUIツールキットです。特徴は、
- Windows, UNIX (gtk+), Mac OS X などのバイナリが一つのソースコードから生成できる。(一つのバイナリが各プラットフォームで動くわけではない。念のため。)
- 各プラットフォームのネイティブなlook and feelになる。
- APIが安定している
- 豊富なサンプル、デモ
- ドキュメントが充実
特に、Windowsでは直接Windows APIを叩くプログラムを生成するため、ほかのプログラムと並べても見た目や操作に違和感がありません。(gtk+だとウィンドウの感じなどがWindowsネイティブなプログラムと違ってしまう。)
Windowsだけにある機能でUNIXにはないものは、wxWidgetsライブラリが機能を提供するため、作るプログラムが制約を受けることもほとんどありません。
wxWidgets のソースコードの書き方は、イベントをメッセージマップで振り分けるなど、MFC (Microsoft Foundation Class) に似ています。
wxWidgetsのインストール
(2008.9.14) ページを分けました。wxWidgetsのインストール
(2018.9) v3.0 での開発に必要なのは、次のパッケージです。
- wxBase3-3.0.4-1.fc28.x86_64
- wxBase3-devel-3.0.4-1.fc28.x86_64
- wxGTK3-3.0.4-1.fc28.x86_64
- wxGTK3-devel-3.0.4-1.fc28.x86_64
- wxGTK3-gl-3.0.4-1.fc28.x86_64
- wxGTK3-i18n-3.0.4-1.fc28.noarch
- wxGTK3-media-3.0.4-1.fc28.x86_64
- wxGTK3-webview-3.0.4-1.fc28.x86_64
はろーわーるど
--enable-unicode でwxWidgetsを生成した場合は、ソースはUTF-8で書く。
TODO: ● wxGladeでwxgファイルを作り、それを表示する。
(2018.9) 文字列とUnicode正規化 [wxWidgets 3.0対応] wxString
クラスのサンプル.
外部リンク
- wxWidgets (wxWindows) 日本語ドキュメントプロジェクト
- wxWidgets 2.6 リファレンスマニュアルの日本語訳。ほとんど未訳。
- WxRubyWiki: WxRuby
- Rubyバインディング。
- wxWindowsと日本語
- ロケールモデルによる国際化。
- Introduction to wxWidgets - The Code Project - Libraries & Projects
- MFC (Microsoft Foundation Class) のクラスがwxWidgetsのどのクラスに対応するか
- IBM MFCアプリケーションをLinuxに移植する - Japan
- MFCアプリケーションをwxWidgetsに移植する実践的な方法。