This commit is contained in:
Josh Holtrop 2012-05-15 23:15:07 -04:00
parent 7fa582baa0
commit 16c53f9d84

View File

@ -1,40 +1,40 @@
#!/usr/bin/env pythonw #!/usr/bin/env pythonw
import os import os
import sys import sys
import gtk import gtk
import pango import pango
import cairo import cairo
import pangocairo import pangocairo
class MyWidget(gtk.DrawingArea): class MyWidget(gtk.DrawingArea):
def __init__(self): def __init__(self):
gtk.DrawingArea.__init__(self) gtk.DrawingArea.__init__(self)
self.set_size_request(200, 200) self.set_size_request(200, 200)
self.connect('expose-event', self.expose) self.connect('expose-event', self.expose)
def expose(self, widget, event): def expose(self, widget, event):
cr = widget.window.cairo_create() cr = widget.window.cairo_create()
cr.select_font_face("Courier", cr.select_font_face("Courier",
cairo.FONT_SLANT_NORMAL, cairo.FONT_WEIGHT_NORMAL) cairo.FONT_SLANT_NORMAL, cairo.FONT_WEIGHT_NORMAL)
cr.set_font_size(20) cr.set_font_size(20)
cr.set_source_rgb(1.0, 0.3, 0.0) cr.set_source_rgb(1.0, 0.3, 0.0)
cr.move_to(0, 15) cr.move_to(0, 15)
cr.text_path("Hello") cr.text_path("Hello")
cr.stroke() cr.stroke()
def destroy(window): def destroy(window):
gtk.main_quit() gtk.main_quit()
def main(): def main():
window = gtk.Window() window = gtk.Window()
window.set_title("Custom pygtk widget hello world") window.set_title("Custom pygtk widget hello world")
widget = MyWidget() widget = MyWidget()
window.add(widget) window.add(widget)
window.connect_after('destroy', destroy) window.connect_after('destroy', destroy)
window.show_all() window.show_all()
gtk.main() gtk.main()
return 0 return 0
if __name__ == '__main__': if __name__ == '__main__':
sys.exit(main()) sys.exit(main())