へっぽこびんぼう野郎のnewbie日記

けろけーろ(´・ω・`)!

wxpython使ってGUIの勉強をしているなう。

f:id:haruharu1:20131126140026p:plain

 

こんな感じでくだらないものを作ってみた。

目がやられそう。

ちなみにマウスはスクリプトじゃなくて偶然キャプチャしちゃっただけ。

ソースはこんな感じ。

 #! /usr/bin/env python

#! -*- coding: utf-8 -*-

 

import wx

 

if __name__ == "__main__":

    application = wx.App()

 

    frame = wx.Frame(None,wx.ID_ANY,"testframe", size=(800,800), pos=(0,0))

 

    frame.CreateStatusBar()

    frame.SetStatusText("teststatusbar")

 

    frame.SetBackgroundColour("#000000")

 

    def cle_x(obj1,obj2):

        panel = wx.Panel(frame, wx.ID_ANY, pos=(obj1,obj2), size=(20,20))

        panel.SetBackgroundColour("#FFFFFF")

 

    for x in range(20):

        a = x * 40

        for y in range(20):

            b = y * 40

            cle_x(a,b)

    for z in range(20):

        c = 20 + z * 40

        for zz in range(19):

             d = 20 + zz * 40

             cle_x(c,d)

 

    frame.Show()

 

    application.MainLoop()

 

 

for文大量に使ってるけど、なんか変な感じ。起動がちょっと遅いし、見た目が悲しいので、もう少し最適化できないかって思う。(赤い文のとこ。エロい人おしえてください><;)

ふと思ったけどチェス盤作れそうだ。

作らないけど。

 

微妙に貧困で、家計簿作りたいから

家計簿作りのためにGUIを覚えたかった。

あとこれ見ながら思ったけど、座標表現で白黒の画像作れそうだなって思った。

f:id:haruharu1:20131126141125p:plain

 

こんな感じの。

ソースこれ。(上記のヤツからちょっとだけ改変)

    def cle_x(obj1,obj2):

        panel = wx.Panel(frame, wx.ID_ANY, pos=(obj1*20,obj2*20), size=(20,20))

        panel.SetBackgroundColour("#FFFFFF")

 

    a = [1,3,6,8,19,17]

    b = [4,8,10,12,20,25]

    

    for n in range(len(a)):

        cle_x(a[n],b[n])

 

    frame.Show()

 

    application.MainLoop()

 

 

この表示見てたらさらに思いついたので改変してみた。

これはすごい。 

f:id:haruharu1:20131126142137p:plain

 

    def cle_x(obj1,obj2):

        panel = wx.Panel(frame, wx.ID_ANY, pos=(obj1,obj2), size=(1,1))

        panel.SetBackgroundColour("#FFFFFF")

 

    

    for x in range(600):

        y = ((x-300) ** 2)/100

        cle_x(x,y)

 

    frame.Show()

 

    application.MainLoop() 

 

 なんでもできるんだな><

ちなみにこれ、すごく重い。for文使ったときの重さは異常。