例子
代码:
#!/usr/bin/env python3
# Created by xiaosanyu at 16/7/6
# section 147
TITLE = "Donut"
DESCRIPTION = """
In this example we create a complex shape by rotating a bunch of ellipses
"""
import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk
import math
class PyApp(Gtk.Window):
def __init__(self):
super(PyApp, self).__init__()
self.set_title("Donut")
self.set_size_request(350, 250)
self.connect("destroy", Gtk.main_quit)
darea = Gtk.DrawingArea()
darea.connect("draw", self.draw)
self.add(darea)
self.show_all()
@staticmethod
def draw(drawingArea, cr):
cr.set_line_width(0.5)
w = drawingArea.get_allocated_width()
h = drawingArea.get_allocated_height()
cr.translate(w / 2, h / 2)
cr.arc(0, 0, 120, 0, 2 * math.pi)
cr.stroke()
for i in range(36):
cr.save()
cr.rotate(i * math.pi / 36)
cr.scale(0.3, 1)
cr.arc(0, 0, 120, 0, 2 * math.pi)
cr.restore()
cr.stroke()
def main():
PyApp()
Gtk.main()
if __name__ == "__main__":
main()