Matplotlib与Glade 3
import osimport gigi.require_version('Gtk', '3.0')from gi.repository import Gtkfrom matplotlib.figure import Figurefrom matplotlib.backends.backend_gtk3agg import ( FigureCanvasGTK3Agg as FigureCanvas)import numpy as npclass Window1Signals(object): def on_window1_destroy(self, widget): Gtk.main_quit()def main(): builder = Gtk.Builder() builder.add_objects_from_file(os.path.join(os.path.dirname(__file__), "mpl_with_glade3.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 = np.arange(0.0, 3.0, 0.01) s = np.sin(2*np.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()
下载这个示例