wxWidgetsとは

クロスプラットフォームなウィジットツールキットです. 某ツールキットのようにウィジットの独自描画をしないので, UIの見た目にこだわる方はいいかもしれません.

インストール

Windows+VC2008

  1. http://www.wxwidgets.org/からwxMSWをダウンロードしてインストール
  2. include\wx\msw\setup.hの以下のマクロを1とする
    wxUSE_GLCANVAS
    wxUSE_ODBC
  3. build/msw/wx.slnを開きをビルド
  4. lib\vc_lib\以下に静的ライブラリが生成される
  5. インクルードディレクトリに以下を追加
    \include\msvc
    \include
  6. ライブラリディレクトリに以下を追加
    \lib\vc_lib

Linux


Myプログラムのビルド

Windows+VC2008

Linux

g++ `wx-config --cppflags` `wx-config --libs` widgetTest.cpp

使い方とか

ログウィンドウ

  1. wxLogWindow* p_log_win = new wxLogWindow(this, "log message");
  2. wxLog::SetActiveTarget(p_log_win);
  3.  
  4. wxLogDebug("hogehoge");
  5.  

IplImageをwxStaticBitmapに表示

24bppの場合IplImageとwxImageでは色の並びが反対になっている. 正しく表示する場合は色の並べ替えが必要.
  1. wxStaticBitmap* p_static_bmp;
  2. IplImage* p_img;
  3. IplImage* p_img_swap;
  4.  
  5. swap_color(p_img, p_img_swap);
  6.  
  7. wxImage img(p_img->width, p_img->height, (unsigned char*)p_img->imageData, true);
  8. p_static_bmp->SetBitmap(wxBitmap(img));


wxGladeを使う

インストール

ロケールの問題で実行できない場合

python wxglade.pyを実行し
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3: ordinal not in range(128)
というようなエラーが出力された場合
export LANG=en_US.UTF-8
python wxglade.py
とすることで実行できる.


カウンタ -
最終更新:2010年12月30日 12:44