我在制作打印pi的按钮时遇到了麻烦

2024-05-03 10:08:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚开始在我的CompSci类中使用python,当时我正在胡闹,想创建一个按钮来打印pi的值。出于某种原因,我制作的关闭窗口功能工作正常,但程序会自动打印pi,而打印pi按钮也没用。这是我的密码

from tkinter import *
import math
master = Tk()

def closeWindow():
    exit()

button = Button(master, text = "print pi", command = print(math.pi))
button.pack()

button = Button(master, text = "close this window", command = closeWindow)
button.pack()

mainloop()

谢谢


Tags: textimport程序功能masterpibuttonmath
3条回答

您只能在单击按钮时使用lambda调用此函数

button = Button(master, text = "print pi", command = lambda :print(math.pi))

与上述方法类似,您也可以这样做:

import tkinter as tk

import math

def command():
    p.set(math.pi)


root = tk.Tk()
p = tk.StringVar()
p.set(' ')
button = tk.Button(root, text='Print pi', command=command)
button.pack()
label = tk.Label(root, textvariable=p)
label.pack()

root.mainloop()

您可以将lambda函数传递给按钮的command选项。 我在这里为两个按钮传递了lambda函数,因为回调函数只有一行代码

import tkinter as tk
import math

master = tk.Tk()

button = tk.Button(master, text = "print pi", command = lambda: print(math.pi))
button.pack()

button = tk.Button(master, text = "close this window", command = lambda: exit())
button.pack()

tk.mainloop()

或者,您可以通过创建一个单独的函数并将该函数作为回调添加到按钮中来实现

import tkinter as tk
import math
master = tk.Tk()

def closeWindow():
    exit()

def print_pi():
    print(math.pi)

button = tk.Button(master, text = "print pi", command = print_pi)
button.pack()

button = tk.Button(master, text = "close this window", command = closeWindow)
button.pack()

tk.mainloop()

相关问题 更多 >