|
1 | 1 | #!/usr/bin/env python |
2 | 2 | """ |
3 | | -demonstrate adding a FigureCanvasGTK/GTKAgg widget to a gtk.ScrolledWindow |
| 3 | +demonstrate adding a FigureCanvasGTK3Agg widget to a Gtk.ScrolledWindow |
| 4 | +using GTK3 accessed via pygobject |
4 | 5 | """ |
5 | 6 |
|
6 | | -import gtk |
| 7 | +from gi.repository import Gtk |
7 | 8 |
|
8 | 9 | from matplotlib.figure import Figure |
9 | 10 | from numpy import arange, sin, pi |
| 11 | +from matplotlib.backends.backend_gtk3agg import FigureCanvasGTK3Agg as FigureCanvas |
10 | 12 |
|
11 | | -# uncomment to select /GTK/GTKAgg/GTKCairo |
12 | | -#from matplotlib.backends.backend_gtk import FigureCanvasGTK as FigureCanvas |
13 | | -from matplotlib.backends.backend_gtkagg import FigureCanvasGTKAgg as FigureCanvas |
14 | | -#from matplotlib.backends.backend_gtkcairo import FigureCanvasGTKCairo as FigureCanvas |
15 | | - |
16 | | -win = gtk.Window() |
17 | | -win.connect("destroy", lambda x: gtk.main_quit()) |
| 13 | +win = Gtk.Window() |
| 14 | +win.connect("delete-event", Gtk.main_quit ) |
18 | 15 | win.set_default_size(400,300) |
19 | 16 | win.set_title("Embedding in GTK") |
20 | 17 |
|
|
24 | 21 | s = sin(2*pi*t) |
25 | 22 | a.plot(t,s) |
26 | 23 |
|
27 | | -sw = gtk.ScrolledWindow() |
| 24 | +sw = Gtk.ScrolledWindow() |
28 | 25 | win.add (sw) |
29 | 26 | # A scrolled window border goes outside the scrollbars and viewport |
30 | 27 | sw.set_border_width (10) |
31 | | -# policy: ALWAYS, AUTOMATIC, NEVER |
32 | | -sw.set_policy (hscrollbar_policy=gtk.POLICY_AUTOMATIC, |
33 | | - vscrollbar_policy=gtk.POLICY_ALWAYS) |
34 | 28 |
|
35 | | -canvas = FigureCanvas(f) # a gtk.DrawingArea |
| 29 | +canvas = FigureCanvas(f) # a Gtk.DrawingArea |
36 | 30 | canvas.set_size_request(800,600) |
37 | 31 | sw.add_with_viewport (canvas) |
38 | 32 |
|
39 | 33 | win.show_all() |
40 | | -gtk.main() |
| 34 | +Gtk.main() |
| 35 | + |
0 commit comments