【问题标题】:Funtion is executing before I call it [duplicate]函数在我调用它之前正在执行[重复]
【发布时间】:2021-12-19 23:57:47
【问题描述】:

我不确定我做错了什么,因为这适用于我制作的不同代码,但不是这里的代码

import tkinter as tk
from PIL import ImageTk



roon= tk.Tk()

canvas1 = tk.Canvas(roon, width = 400, height = 400, bg='lightblue')
canvas1.pack(fill = "both", expand = True)

title = tk.Label(roon, text= "CSVrundown", bg="lightblue",fg="darkgreen", font=("rockwell", 30 ,'bold'))
canvas1.create_window(200, 40, window=title)

def csrd (times):
    print("why must you be this way")

entry1 = tk.Entry (roon) 
canvas1.create_window(200, 140, window=entry1)

but1 = tk.Button(text='Question 1', command=csrd(15))
canvas1.create_window(200, 100, window=but1)


roon.mainloop()

我想要它,以便在您按下按钮时执行代码 我很迷茫,我很累,我不知道还能问谁

【问题讨论】:

    标签: python python-3.x tkinter


    【解决方案1】:

    问题是您正在调用该函数,而不是传递它。要通过它,您将设置command=csrd。当然,这只是传递函数,而不是任何参数。您可以使用 lambda 创建一个函数,然后使用 15 的参数调用 csrd

    but1 = tk.Button(text='Question 1', command=lambda: csrd(15))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-01
      • 1970-01-01
      • 2018-09-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多