본문 바로가기

Language/Python

[wxPython] 색상 설정하기(wx.Colour, SetBackgroundColour)

본 내용의 출처는 이글루 블로그의 '하린아빠' 라는 네임을 쓰시는 분의 블로그입니다.

[출처] - http://pythondev.egloos.com/103215


행여나 이글루 블로그가 없어지면 참고할 곳이 사라지기에 주인장님께 댓글을 남기고 퍼 옵니다.




[wxPython] 색상 설정하기(wx.Colour, SetBackgroundColour)



#!/usr/bin/python
# -*- coding: cp949 -*-
# colours.py


import wx


class Colours(wx.Dialog):
    def __init__(self, parent, id, title):
        # wx.Dialog 초기화
        wx.Dialog.__init__(self, parent, id, title, size=(300, 300))
        vbox = wx.BoxSizer(wx.VERTICAL)
        self.pnl1 = wx.Panel(self, -1)
        self.pnl2 = wx.Panel(self, -1)
        self.pnl3 = wx.Panel(self, -1)
        self.pnl4 = wx.Panel(self, -1)
        self.pnl5 = wx.Panel(self, -1)
        self.pnl6 = wx.Panel(self, -1)
        self.pnl7 = wx.Panel(self, -1)
        self.pnl8 = wx.Panel(self, -1)

        gs = wx.GridSizer(4,2,3,3)
        gs.AddMany([ (self.pnl1, 0 ,wx.EXPAND),
            (self.pnl2, 0, wx.EXPAND),
            (self.pnl3, 0, wx.EXPAND),
            (self.pnl4, 0, wx.EXPAND),
            (self.pnl5, 0, wx.EXPAND),
            (self.pnl6, 0, wx.EXPAND),
            (self.pnl7, 0, wx.EXPAND),
            (self.pnl8, 0, wx.EXPAND) ])

        vbox.Add(gs, 1, wx.EXPAND | wx.TOP, 5)
        self.SetSizer(vbox)
        # 패널들의 색상 설정
        self.SetColors()
        self.Centre()
        self.ShowModal()
        self.Destroy()

    # 패널들의 색상 설정
    def SetColors(self):
        # 생성한 패널들의 색상들을 지정함.
        self.pnl1.SetBackgroundColour(wx.BLACK) # wx.색상 상수값으로 설정
        self.pnl2.SetBackgroundColour(wx.Colour(139,105,20)) # RGB값으로 설정함
        self.pnl3.SetBackgroundColour(wx.RED)
        self.pnl4.SetBackgroundColour('#0000FF') # 16진수 색상값을 이용하여 설정
        self.pnl5.SetBackgroundColour('sea green') # 색상이름으로 설정
        self.pnl6.SetBackgroundColour('midnight blue')
        self.pnl7.SetBackgroundColour(wx.LIGHT_GREY)
        self.pnl8.SetBackgroundColour('plum')

app = wx.App(0)
Colours(None, -1, 'colours.py')
app.MainLoop()

[실행 화면]