【问题标题】:Drawing a diagram using sliders from Tkinter - Program has no output使用 Tkinter 的滑块绘制图表 - 程序没有输出
【发布时间】:2014-11-02 06:25:31
【问题描述】:

我想制作一个程序来绘制Lennard-Jones potential 的图表,其中参数 epsilon 和 sigma 可以通过两个滑块进行调整。我希望我的程序像这样工作

  1. 出现带有两个滑块的小窗口
  2. 我调整了两个滑块
  3. 我点击“显示”
  4. 潜力图出现

这是我的代码:

from Tkinter import *

import pylab as p

def show_values():
    V=4*epsilon.get()*(math.pow((sigma.get()/r),12)-math.pow((sigma.get()/r,6)))
    p.plot(t,V)
    p.show()


r = p.arange(0.1, 5.0, 0.01)
master = Tk()
epsilon = Scale(master, from_=0, to=42)
epsilon.pack()
sigma = Scale(master, from_=0, to=200, orient=HORIZONTAL)
sigma.pack()



Button(master, text='Show', command=show_values).pack()
master.mainloop()

当我单击“运行当前文件”时,没有任何反应。没有错误信息。我做错了什么?我在 Canopy 32 位 Windows 7 中工作。

【问题讨论】:

标签: python matplotlib tkinter draw


【解决方案1】:

一旦你构建了你的窗口,你需要调用mainloop() 方法来显示它。在最后一行之后添加master.mainloop() 就可以了。

【讨论】:

  • 我在最后一行之后添加了 master.mainloop() ,但仍然没有任何反应。我编辑了我的问题,因此代码中包含了您的建议。 :-)
  • 哦!打扰一下!只是我的笔记本电脑工作缓慢。发生了一些事情:出现了带有滑块的窗口。但是现在,当我点击“显示”时......什么也没有发生。
  • O.... 现在我注意到其余代码中有一些错误:p.plot(t,V) 应该替换为 p.plot(r,V)。而且 math.pow 有一些问题,所以我把它替换成了 **
猜你喜欢
  • 2021-07-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-22
  • 2016-10-09
  • 1970-01-01
相关资源
最近更新 更多