猿问

我无法制作打印 pi 的按钮

我刚开始在我的 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()


翻过高山走不出你
浏览 131回答 3
3回答

哈士奇WWW

与上述方法类似,您也可以这样做:import tkinter as tkimport mathdef 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 tkimport mathmaster = 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 tkimport mathmaster = 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()

浮云间

您可以使用 lambda 仅在单击按钮时调用此函数button = Button(master, text = "print pi", command = lambda :print(math.pi))
随时随地看视频慕课网APP

相关分类

Python
我要回答