1
最初はwとcは0になりますが、問題はたとえばスケールウィジェットでwの値を変更した後にcの値を変更してwの値が0に戻った場合です。いくつかの変数の値
どうすればこの問題を解決できますか?更新機能がc
とw
の非更新された値を使用しているため
import Tkinter as tk
from matplotlib.figure import Figure
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
import numpy as np
app = tk.Tk()
app.wm_title("Tools")
def updateScale(value):
ax.clear()
print "scale is now %s" % (value)
ax.plot(m, np.exp(m))
a = np.array([1, 2, 3])
w = float(value)
b = w*a+c
ax.plot(a,b)
graph.show()
return w
def updateScale1(value1):
ax.clear()
print "scale is now %s" % (value1)
ax.plot(m, np.exp(m))
a = np.array([1, 2, 3])
c = float(value1)
b = w*a+c
ax.plot(a,b)
graph.show()
return c
fig = Figure(figsize=(6, 4), dpi=96)
ax = fig.add_subplot(111)
#bx = fig.add_subplot(111)
m = np.array([1,2,3])
ax.plot(m,np.exp(m))
a = np.array([1, 2, 3])
c = 0
w = 0
b = w * a + c
ax.plot(a,b)
graph = FigureCanvasTkAgg(fig, master=app)
canvas = graph.get_tk_widget()
canvas.grid(row=0, column=0, rowspan = 11, padx =10, pady =5)
value = tk.DoubleVar()
scale = tk.Scale(app, variable=value, orient="horizontal",length = 100, from_=0.55, to=2.75, resolution = 0.01,command=updateScale)
scale.grid(row=0, column=1)
value1 = tk.DoubleVar()
scale1 = tk.Scale(app, variable=value1, orient="horizontal", command=updateScale1)
scale1.grid(row=1, column=1)
app.mainloop()
問題は、 'updateScale()'には 'w'が割り当てられますが、' c'には割り当てられず、 'updateScale1()'には 'c'に割り当てられますが' w'には割り当てられません。 – quamrana
どうすればこの問題を解決できますか? updateScaleとupdateScale1に引数を追加すると思いましたか?これはどう思いますか? –
updateScaleとupdateScale1に2つの引数を入れようとしましたが、動作しません。:/ –