Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Glade tutorial branch fixed #3160

Merged
merged 14 commits into from Jun 28, 2014
1 change: 1 addition & 0 deletions doc/users/developer.rst
Expand Up @@ -19,3 +19,4 @@ Advanced Guide
transforms_tutorial.rst
path_tutorial.rst
recipes.rst

23 changes: 23 additions & 0 deletions examples/user_interfaces/mpl_with_glade_316.glade
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.16.1 -->
<interface>
<requires lib="gtk+" version="3.10"/>
<object class="GtkApplicationWindow" id="window1">
<property name="can_focus">False</property>
<property name="title" translatable="yes">Matplotlib</property>
<property name="default_width">800</property>
<property name="default_height">600</property>
<signal name="destroy" handler="on_window1_destroy" swapped="no"/>
<child>
<object class="GtkScrolledWindow" id="scrolledwindow1">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="border_width">10</property>
<property name="shadow_type">in</property>
<child>
<placeholder/>
</child>
</object>
</child>
</object>
</interface>
40 changes: 40 additions & 0 deletions examples/user_interfaces/mpl_with_glade_316.py
@@ -0,0 +1,40 @@
#!/usr/bin/env python3

from gi.repository import Gtk

from matplotlib.figure import Figure
from matplotlib.axes import Subplot
from numpy import arange, sin, pi
from matplotlib.backends.backend_gtk3agg import FigureCanvasGTK3Agg as FigureCanvas

class Window1Signals:
def on_window1_destroy(self, widget):
Gtk.main_quit()

def main():
builder = Gtk.Builder()
builder.add_objects_from_file("mpl_with_glade_316.glade", ("window1", "") )
builder.connect_signals(Window1Signals())
window = builder.get_object("window1")
sw = builder.get_object("scrolledwindow1")

#Start of Matplotlib specific code
figure = Figure(figsize=(8,6), dpi=71)
axis = figure.add_subplot(111)
t = arange(0.0, 3.0, 0.01)
s = sin(2*pi*t)
axis.plot(t,s)

axis.set_xlabel('time [s]')
axis.set_ylabel('voltage [V]')

canvas = FigureCanvas(figure) # a Gtk.DrawingArea
canvas.set_size_request(800,600)
sw.add_with_viewport(canvas)
#End of Matplotlib specific code

window.show_all()
Gtk.main()

if __name__ == "__main__":
main()