実用wxWidgets

(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のインストール

はろーわーるど

--enable-unicode でwxWidgetsを生成した場合は、ソースはUTF-8で書く。

TODO: ● wxGladeでwxgファイルを作り、それを表示する。

外部リンク

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に移植する実践的な方法。