@@ -109,31 +109,34 @@ automatically for every figure. If you are writing your own user
109
109
interface code, you can add the toolbar as a widget. The exact syntax
110
110
depends on your UI, but we have examples for every supported UI in the
111
111
``matplotlib/examples/user_interfaces `` directory. Here is some
112
- example code for GTK::
112
+ example code for GTK+ 3 ::
113
113
114
114
115
- import gtk
115
+ import gi
116
+ gi.require_version('Gtk', '3.0')
117
+ from gi.repository import Gtk
116
118
117
119
from matplotlib.figure import Figure
118
- from matplotlib.backends.backend_gtkagg import FigureCanvasGTKAgg as FigureCanvas
119
- from matplotlib.backends.backend_gtkagg import NavigationToolbar2GTKAgg as NavigationToolbar
120
+ from matplotlib.backends.backend_gtk3agg import FigureCanvas
121
+ from matplotlib.backends.backend_gtk3 import (
122
+ NavigationToolbar2GTK3 as NavigationToolbar)
120
123
121
- win = gtk .Window()
122
- win.connect("destroy", lambda x: gtk .main_quit())
124
+ win = Gtk .Window()
125
+ win.connect("destroy", lambda x: Gtk .main_quit())
123
126
win.set_default_size(400,300)
124
127
win.set_title("Embedding in GTK")
125
128
126
- vbox = gtk .VBox()
129
+ vbox = Gtk .VBox()
127
130
win.add(vbox)
128
131
129
132
fig = Figure(figsize=(5,4), dpi=100)
130
133
ax = fig.add_subplot(111)
131
134
ax.plot([1,2,3])
132
135
133
- canvas = FigureCanvas(fig) # a gtk .DrawingArea
134
- vbox.pack_start(canvas)
136
+ canvas = FigureCanvas(fig) # a Gtk .DrawingArea
137
+ vbox.pack_start(canvas, True, True, 0 )
135
138
toolbar = NavigationToolbar(canvas, win)
136
- vbox.pack_start(toolbar, False, False)
139
+ vbox.pack_start(toolbar, False, False, 0 )
137
140
138
141
win.show_all()
139
- gtk .main()
142
+ Gtk .main()
0 commit comments