[python] PyGTK에서 위젯 사용하기

PyGTK은 Python에서 GTK+ 라이브러리를 사용할 수 있게 해주는 패키지입니다. GTK+는 그래픽 사용자 인터페이스를 만들기 위한 잘 알려진 라이브러리이며, PyGTK를 사용하면 Python으로 GTK+ 기반의 프로그램을 작성할 수 있습니다.

이 블로그 포스트에서는 PyGTK를 사용하여 간단한 위젯(버튼, 레이블 등)을 어떻게 만들고 조작하는지에 대해 설명하겠습니다.

1. PyGTK 설치

PyGTK를 사용하기 위해서는 먼저 해당 패키지를 설치해야 합니다. 다음 명령어를 사용하여 PyGTK를 설치할 수 있습니다:

sudo apt-get install python-gtk2

2. 간단한 예제

다음은 PyGTK를 사용하여 “Hello, World!”를 표시하는 간단한 예제입니다.

import pygtk
pygtk.require('2.0')
import gtk

class HelloWorld:
  def hello(self, widget, data=None):
    print "Hello, World!"

  def __init__(self):
    self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
    self.window.connect("delete_event", gtk.main_quit)
    self.button = gtk.Button("Hello, World!")
    self.button.connect("clicked", self.hello, None)
    self.window.add(self.button)
    self.button.show()
    self.window.show()

def main():
  gtk.main()
  return 0

if __name__ == "__main__":
  hello = HelloWorld()
  main()

위 예제는 간단한 창과 버튼을 생성하고, 버튼을 클릭했을 때 “Hello, World!”를 출력하는 기능을 가지고 있습니다.

3. 위젯 조작

PyGTK를 사용하면 위젯을 쉽게 추가하고 조작할 수 있습니다. 위젯의 크기, 색상, 텍스트 등을 변경하거나, 다양한 이벤트에 대한 동작을 정의할 수 있습니다.

예를 들어, 다음은 간단한 레이블을 생성하고 텍스트와 색상을 변경하는 예제입니다:

import pygtk
pygtk.require('2.0')
import gtk

class LabelExample:
  def __init__(self):
    self.window = gtk.Window()
    self.window.connect("destroy", gtk.main_quit)
    self.label = gtk.Label("Hello, World!")
    self.window.add(self.label)
    self.label.show()
    self.window.show()

  def change_label(self, widget, data=None):
    self.label.set_text("안녕, 세상!")
    self.label.modify_fg(gtk.STATE_NORMAL, gtk.gdk.color_parse('red'))

def main():
  gtk.main()
  return 0

if __name__ == "__main__":
  label_example = LabelExample()
  main()

위 예제는 레이블의 텍스트를 “안녕, 세상!”로 변경하고, 색상을 빨간색으로 변경하는 기능을 가지고 있습니다.

이렇게 PyGTK를 사용하면 위젯을 다루고 조작하는 것이 쉽습니다. GTK+의 다양한 기능을 활용하여 다양한 사용자 인터페이스를 만들어나갈 수 있습니다.

위의 예제 코드를 실행하면 간단한 GTK+ 애플리케이션이 실행되는 것을 확인할 수 있습니다.

참고 자료