如何在tkinter中的Entry中显示值?

时间:2014-04-05 09:43:35

标签: python user-interface numpy tkinter

我想知道如何在文本框中显示整数和双精度值。因为我必须计算图像的平均值,我希望这些值显示在GUI的文本框中。

当我尝试使用我的代码时出现错误:

AttributeError: numpy.ndarray object has no attribute set

这是因为我在 ndarray 中使用.set()。但如果没有.set()如何将值发送到文本框?

这是我的代码段:

def open():
    path=tkFileDialog.askopenfilename(filetypes=[("Image File",'.jpg')])
    blue, green, red = cv2.split(re_img)
    total = re_img.size
    B = sum(blue) / total
    G = sum(green) / total
    R = sum(red) / total
    B_mean1.append(B)
    G_mean1.append(G)
    R_mean1.append(R)

    blue.set(B_mean)

root = Tk()
blue_label = Label(app,text = 'Blue Mean')
blue_label.place(x = 850,y = 140)
blue = IntVar(None)
blue_text = Entry(app,textvariable = blue)
blue_text.place(x = 1000,y = 140)
button = Button(app, text='Select an Image',command = open)
button.pack(padx = 1, pady = 1,anchor='ne')
button.place( x = 650, y = 60)
root.mainloop()  

我不知道我的编码是否错误。并且这些平均值存储在列表中。有关此问题的任何建议吗?

感谢您的支持!

2 个答案:

答案 0 :(得分:1)

blue是您的函数中的本地名称,会影响您的全局IntVar引用blue

重命名其中一个。

答案 1 :(得分:0)

numpy.ndarray上没有任何名为“set”的内容:

http://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.html

仔细查看此参考资料,并弄清楚如何将B_mean应用于蓝色。