【发布时间】:2021-08-09 14:06:52
【问题描述】:
我有一个函数可以创建一些标签和输入字段以及一个按钮。我希望按钮的命令功能管理此功能的对象。我可以在不使变量全局化的情况下做到这一点吗?
代码如下:
def add_clicked():
cuspsInfo.append((int(xInput.get()), int(yInput.get()), indexInput.get()))
xInput.delete(0, END)
yInput.delete(0, END)
indexInput.delete(0, END)
def startup_menu():
global cuspsInfo
cuspsInfo = []
global label
label = Label(window, text="Add a cusp:", font=("Arial", 20, "bold"),
fg=SECOND_COLOR, bg=FIRST_COLOR)
label.place(relx=0.5, rely=0.3, anchor=CENTER)
global xInput
global yInput
global indexInput
xInput = Entry(window)
xInput.place(relx=0.52, rely=0.4, anchor=CENTER)
yInput = Entry(window)
yInput.place(relx=0.52, rely=0.45, anchor=CENTER)
indexInput = Entry(window)
indexInput.place(relx=0.52, rely=0.5, anchor=CENTER)
global xLabel
global yLabel
global indexLabel
xLabel = Label(window, text="x(0-500):", font=(
"Arial", 20, "bold"), fg=SECOND_COLOR, bg=FIRST_COLOR)
xLabel.place(relx=0.34, rely=0.4, anchor=CENTER)
yLabel = Label(window, text="y(0-500):", font=(
"Arial", 20, "bold"), fg=SECOND_COLOR, bg=FIRST_COLOR)
yLabel.place(relx=0.34, rely=0.45, anchor=CENTER)
indexLabel = Label(window, text="name:", font=(
"Arial", 20, "bold"), fg=SECOND_COLOR, bg=FIRST_COLOR)
indexLabel.place(relx=0.36, rely=0.5, anchor=CENTER)
global addButton
global runButton
addButton = Button(window, text="add", command=add_clicked)
addButton.place(relx=0.45, rely=0.6, anchor=CENTER)
runButton = Button(window, text="run", command=run_clicked)
runButton.place(relx=0.55, rely=0.6, anchor=CENTER)
【问题讨论】:
-
您可以使用 OOP 方法
-
@Sujay 我已经想到了,但是我可以在没有 OOP 的情况下做到这一点吗?我真的不希望它用于我的程序的这一部分 ://
-
非常感谢,我会试试的。我不知道如何将参数传递给命令函数。
标签: python tkinter tkinter-button