본 내용의 출처는 이글루 블로그의 '하린아빠' 라는 네임을 쓰시는 분의 블로그입니다.
[출처] - http://pythondev.egloos.com/103042
행여나 이글루 블로그가 없어지면 참고할 곳이 사라지기에 주인장님께 댓글을 남기고 퍼 옵니다.
[wxPython] 패널의 색상을 시간 단위로 변경하기(wx.Timer, colours.py)
#!/usr/bin/python
# -*- coding: cp949 -*-
# randomcolours.py
import wx
from random import randrange
from wx.lib.colourdb import *
class MyFrame(wx.Frame):
def __init__(self, parent, id, title):
wx.Frame.__init__(self, parent, id, title, wx.DefaultPosition, wx.Size(400, 350))
self.panel = wx.Panel(self, -1)
self.colors = getColourList()
# 타이머 설정
self.timer = wx.Timer(self)
# 타이머 이벤트 지정
self.Bind(wx.EVT_TIMER, self.OnTimer, self.timer)
# 1.5초 간격 타이머 시작
self.timer.Start(1500)
# wx.Frame 색상 리스트의 갯수 추출
self.col_num = len(self.colors)
self.Centre()
# 타이머 이벤트 함수
def OnTimer(self, event):
self.panel.SetBackgroundColour(wx.RED)
# 랜덤하게 wx.Frame의 전체 색상 수중에 한수를 뽑는다.
position = randrange(0, self.col_num-1, 1)
# 패널 색상 변경
self.panel.SetBackgroundColour(self.colors[position])
self.panel.Refresh()
class MyApp(wx.App):
def OnInit(self):
updateColourDB()
frame = MyFrame(None, -1, 'randomcolours.py')
frame.Show(True)
self.SetTopWindow(frame)
return True
app = MyApp(0)
app.MainLoop()
[실행 화면]
'Language > Python' 카테고리의 다른 글
[wxPython] 이벤트01 (스크롤 이벤트 예제) (0) | 2017.02.06 |
---|---|
[wxPython] Bitmap 화면에 출력하기 (0) | 2017.02.06 |
[wxPython] 색상 설정하기(wx.Colour, SetBackgroundColour) (0) | 2017.02.06 |
[wxPython] wx.Font를 이용한 폰트 지정하기 (0) | 2017.02.06 |
[wxPython] 기본 Object - 커서(Cursor) (0) | 2017.02.06 |