dragov 发表于 2024-5-2 15:13:22

Tkinter 显示6个按钮



from tkinter import *
root=Tk()
def h(a,b,c,d,e,f) :
    for i in range (6):
      Button(root,text=h(i)).pack()
h("flat","groove","ridge","sunken","raised","solid")

哪 里 的 错 误?

FishC 发表于 2024-5-2 15:13:34

代码中存在几个错误。首先,定义函数时的参数应该是字符串类型,而不是变量。其次,在循环中创建按钮时,应该使用传入的参数作为按钮的文本,而不是再次调用函数。最后,函数应该在按钮创建之前定义。

以下是修改后的代码:

from tkinter import *

root = Tk()

def h(btn_text):
    Button(root, text=btn_text).pack()

button_texts = ["flat", "groove", "ridge", "sunken", "raised", "solid"]

for text in button_texts:
    h(text)

root.mainloop()

运行这段代码后,将会在Tkinter窗口中显示6个按钮,按钮的文本分别为"flat"、"groove"、"ridge"、"sunken"、"raised"和"solid"。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

smallwh 发表于 2024-5-2 17:49:19

from tkinter import *

root=Tk()
def h(*name) :
    for i in name:
      Button(root,text=i).pack()

h("flat","groove","ridge","sunken","raised","solid")
以上是修改后的代码
Button(root,text=h(i)).pack()这一行调用 h(i) 很明显就不对,不符合函数的基本语法
对于多个参数,建议用不定参数来传入
页: [1]
查看完整版本: Tkinter 显示6个按钮