【发布时间】:2014-07-12 16:14:57
【问题描述】:
我对 Python 很陌生,尤其是对使用 Tkinter 很陌生。我有一个关于让我的按钮在 GUI 中实际创建的问题。
我正在尝试制作一个基本按钮,该按钮将从输入框中获取输入作为整数并将其添加到当前余额(一种小型银行应用程序)。问题是,当我运行代码并单击存款按钮时,应该生成的第二个“存款”按钮(在 make_deposit() 函数中定义)将不会生成,因为输入输入框变成一个整数。据我所知,这个错误只是因为第二个“存款”按钮在按下按钮之前试图运行它的功能。有什么办法可以防止这种情况发生吗?下面是代码,不包括与当前问题无关的程序部分。
from Tkinter import *
def get_entry(entry):
global s
s = entry.get()
s = int(s)
data["current"] += s
label = Label(root, text = "Current Balance: %d" % (data["current"]))
label.grid(row = 1, column = 0)
def make_deposit():
deposit = Entry(root, text = "Deposit Amount")
deposit.grid(row = 2, column = 0)
withdrawal.grid_forget()
deposit_button = Button(root, text = "Make Deposit", command = get_entry(deposit))
deposit_button.grid(row = 3, column = 0)
frame = Frame(root, height = 300, width = 300)
frame.grid(row = 1, column = 0)
label = Label(root, text = "ETA Until Car Purchase")
label.grid(row = 0, column = 0)
label = Label(root, text = "Current Balance: %d" % (data["current"]))
label.grid(row = 1, column = 0)
deposit = Button(root, text = "Make Deposit", command = make_deposit)
deposit.grid(row = 2, column = 0)
withdrawal = Button(root, text = "Make Withdrawal")
withdrawal.grid(row = 3, column = 0)
任何帮助将不胜感激,请考虑到我是 Tkinter 的绝对初学者,所以我创建一些 GUI 元素的方式可能不是最好的方式。
【问题讨论】:
-
总是添加
full error message并且有很多行有问题所以在你的代码中标记这一行。 -
如果您有问题,请使用
print查看变量中的内容(在您提问之前)。 -
顺便说一句:您忘记创建
root(root = Tk()) 并且忘记运行 mainloop (root.mainloop())
标签: python button user-interface tkinter