| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 
 |  
import matplotlib.pyplot as plt
import numpy as np
import Tkinter as tk
import matplotlib.figure as mplfig
import matplotlib.backends.backend_tkagg as tkagg
pi = np.pi
 
 
class App(object):
    def __init__(self, master):
        self.master = master
        self.fig = mplfig.Figure(figsize=(3, 3))  
        self.ax = self.fig.add_axes([0.125, 0.125, 0.75, 0.75], polar=True)  
        self.canvas = tkagg.FigureCanvasTkAgg(self.fig, master=master)  
        self.ax.grid(True)
        self.gridIsOn = True;
#
         N = 5
        theta = np.arange(0.0, 2 * pi, 2 * pi / N)
        radii = np.arange(10.0,50, 40 / N) #[5.0,10.0,20.0,30.0,40.0 ]
        width = [2 * pi / (N)] * 5
        bars = (
            # self.ax.bar(0, 20, width=2 * pi, linewidth=0) +
            self.ax.bar(theta, radii, width))#, bottom=0.2))
        cmap = plt.get_cmap('jet')
         for r, bar in zip(radii, bars):
            bar.set_facecolor(cmap(r / 50.))
            bar.set_alpha(0.5)
         self.ax.set_xticklabels([])
        self.ax.set_yticklabels([])
         self.canvas.get_tk_widget().pack()
        self.canvas.draw()
        ### UN MORCEAU DU PROBLEMEE
        self.b = tk.Button(master, text="OK", command=App.ButtonCall(self))
        self.b.pack()
    @staticmethod
    def ButtonCall(o):  ## ICI ON EST EN PLEIN DANS LE PROBLEME
        print ("click!");
     #   if o.gridIsOn==True:
     #       o.gridIsOn=False;
     #   else:
     #        o.gridIsOn=True;
      #  o.ax.grid(o.gridIsOn)
      #  o.canvas.draw()
 
 
 
def main():
    root = tk.Tk()
    app = App(root)
    tk.mainloop()
 
if __name__ == '__main__':
    main() | 
Partager