wxPythonに入門する
久しぶりにゲームでも作ろうかと思い立ち、GUIを触る事にした。
そうだ、最近ブクマされてたOpenGLの基礎があったなー。と、これをやろうとしたのだが、rubygemsのよくわからない挙動に悩まされ、Ruby+OPENGLを諦めた。諦めたというか後回し。
というわけで、wxPythonをやりかけていたので、再度こちらを頑張ってみることにする。
wxPythonとは
pythonでGUIアプリケーションを作成するためのライブラリ
最近のPythonには標準で組み込まれている。import wxすれば使用できる。
id:showyouさんのtwitterクライアントcrochetでも使われているらしい。
リファレンスやチュートリアルに関してはここがまとまっていた。
メモ - ロボ娘と百合とSTG
使ってみる
http://zetcode.com/wxpython/firststeps/ を見ながら試す
MyFirstApp.py
#!/usr/bin/python
#coding:utf-8import wx
app = wx.App()
frame = wx.Frame(None, -1, u'Hello '+u'ハロー!')
frame.Show()
app.MainLoop()
ちゃんとu("マルチバイト文字")とすれば日本語も動くようだ 他のPythonライブラリと違い、#coding:utf-8にしていしても、明示的にマルチバイト指定しないと動かない。
少し弄ってみた
ウィンドウサイズの設定から
#!/usr/bin/python
#coding:utf-8
import wxWINDOW_POS_X=100
WINDOW_POS_Y=100class Size(wx.Frame):
def __init__(self, parent, id, title,width,height):
wx.Frame.__init__(self, parent, id, title, pos=(WINDOW_POS_X,WINDOW_POS_Y),size=(width, height))
self.Show(True)app = wx.App()
root=[]
for i in range(5):
root.append(Size(None, -1, 'Size',300-30*i,200-20*i))
app.MainLoop()
動かしてみるとしょうもないけど、動きました。
id:showyouさん(@showyou)にTwitterで訪ねたのだが、「wxPythonは途中から茨の道」「どのライブラリにしてもだが、凝った事すると途端に仕様を読まなければいけなくなる」とのこと。少しずつ頑張ろうと思います。