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

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