wx

xmlビューワー

見るだけだけどちょいと必要だったので作った。 とりあえず貼り。 #!/usr/bin/python # coding: utf-8 import wx from wx.lib.mixins import treemixin import xml.sax import xml.sax.handler import sys import os FS_ENCODING='cp932' class Node(object)…

骨選択

重なった骨が見にくいので八角形ボーンにしてみた。 さらに変な処理をして骨の親子関係がおかしかったところを整理した。 PMDは素直なデータ構造なので余計なことをせずにまっとうに組み立てればOK。 八角形にしたついでに、OpenGLのSELECT_MODEで骨を選択で…

numpyの配列を受け取るCモジュールを作る

今作っているツールに次のようなコードがあるのだがかなり遅い。 # RGB配列とAlpha配列を合成してRGBAにするコード image=wx.Image(path) w=image.GetWidth() h=image.GetHeight() # RGB rgb=image.GetData() # Alphaチャンネル alpha=image.GetAlphaData() …

pmdビューワみたいなのができてきた

いつもの自前主義が発動して夏前に書いていたMikotoモーションビューワ(頓挫中)みたいなのをまた作り始めた。 今度は、pmd/vmd形式が対象でwxPython(wx.GLCanvas)で書いている。wxAUIが使えれば何でもよかったが、OpenGLのコード残骸がディスクに残っている…

画像表示サンプル

ハードディスク発掘していたら微妙なコードが出てきたので書き直してメモ #!/usr/bin/python # -*- coding: utf-8 -*- import wx import os class ImagePanel(wx.Panel): def __init__(self, parent): super(ImagePanel, self).__init__(parent) self.bmp=No…

VitualTreeサンプル

http://www.wxpython.org/docs/api/wx.lib.mixins.treemixin.VirtualTree-class.htmlwxLC_VIRTUALのツリー版だそうで。 これはなかなか快適そうだ。 #!/usr/bin/python # coding: utf-8 # 2009/12/8 4タブ化してVTree.SelectPath()を追記 import wx from wx.…

LinuxとWindows共用で文字化けしないように書く

#!/usr/bin/python # coding: utf8 import wx app = wx.App() frame = wx.Frame(None, wx.ID_ANY, u'こんにちわ世界') frame.Show(True) app.MainLoop() unicode文字使うだけ。windowsは wxPython2.8-win32-unicode-2.8.10.1-py26.exe で試した。特に理由が…

wxLua調査中

wxWidgetsのアプリにluaを仕込みたいので調べていたら、早速wxLuaに行き当たった。 ぱっと見、luaからwxWidgetsを使うもの(wxPythonとかみたいに)みたいだが、 逆にC++のwxWidgetsアプリに埋めて使うこともできるよって書いてある様子。 ちょいと調べてみる。

wxAUIのサンプル

wxEvtHandler::Connectは普通のマクロを使った場合は Connect(wxEVT_MOVE, wxMoveEventHandler(Move::OnMove)); のように記述するがこれは this->Connect(wxEVT_MOVE, wxMoveEventHandler(Move::OnMove)); であり、thisに来たwxEVT_MOVEをthis->OnMoveと連結…

wxWidgetsのOpenGL雛形

次なる3Dプログラミングのテーマを決めた。 ボーンとかモーションとかそっち方面。 最近流行ってきている様子のmqo+keynoteによるmqoのmikoto方式のデータを 扱えるようにしてみたい。 モデルデータを公開されている人もいるので実験してみるのにも 楽しげだ…

Windowsでのビルド

wx

gtkのSocketはPlugしか挿せない。 しかし、SDLの窓をPlugにする方法が見つからない。 というわけでgtkmm+SDLでOpenGL案は頓挫してしまった。 そろそろ動くのがわかっている環境で前に進めるとしよう。 ということでwxWidgets-2.8.9をWindows XPでビルドする…

wxWidgetsのtutorial遂行中・・・

wx vc

しばらくPlatformSDK+VC8でプログラムしていたのだけどGUIパーツを 配置する段になってやはりめんどさw。 多少回り道になるけどwxWidgetsのc++での使い方を思い出すべくtutorialをやることにした。 http://www.zetcode.com/tutorials/wxwidgetstutorial/ は…

透過に対応

思ったより大変だ(画像のほっぺのぐるぐるが透明ぶぶん)まずmqo形式の透明は、 模様画像にアルファチャンネルがついているもの(pngとかtgaで)と、 透明にグレイスケール画像(とは限らないが)を指定する2種類がある。ひとつめに対応するのは簡単で、 glEnabl…

mqoを読み込むサンプルを作ってみた

wxPythonでmqoビューワみたいのを作ってみた。操作はメタセコ風味。 去年書いたソースを切り貼りして作ったので一部余計に手間取ってしまったがほぼ完成。 透過テクスチャ以外の部分は予定していたところまでできたので公開してみる。 ソースはさすがに長く…

PSD書き出しを書いてみた

レイヤーを扱えるツールを作ってみようかと思ってとっかかりにPSD書き出し機能を作ってみた。 まずPSD形式を書き出せるライブラリとかを探してみたのだがよさげなのを発見できなかった(PILはREAD ONLYらしい)。 なので自作する方向で情報収集を開始した。 PS…

wxWidgets 2.8.7のインストール

ビルド手順 http://www.wxwidgets.org/ でwxMSWのソースをゲットしてくる。 OpenGLを有効にする build\msw\config.vc USE_OPENGL = 1include\wx\msw\setup.h #define wxUSE_GLCANVAS 1 ビルド build\msw\wx.dswを開く。 適当なソリューション構成を選択する(…

情報源について

http://www.wxpython.org/download.php#binariesにあるwin32-docs-demosが一番参考になる。GUIレイアウトについては、wxGladeの出力も参考になる。それとリファレンスとしてwxWidgetsのマニュアル。

wx.SplitterWindowをネストさせてみる

wx.SplitterWindowをどんどんネストして分割するクラスが欲しかったので書いてみた。 途中sizerがちゃんと使えてなくて頓挫寸前だった。 BoxSizerの場合 sizer.Add(client, 1, wx.Expand) を基本として sizer.Add(client, 0, wx.Expand) と使い分けるべし。 …