Tkinter 按钮
from tkinter import *
root=Tk()
root.geometry("444x777")
m=[{"a":"天津A","b":"pirate"},
{"a":"天津B","b":"target"},
{"a":"重庆A","b":"man"},
{"a":"重庆B","b":"circle"}]
def tj():
tianjin=Toplevel(root)
Button(tianjin,text="我是天津人",background="pink").pack()
def cq():
chongqing=Toplevel(root)
Button(chongqing,text="我是重庆人",background="red").pack()
def gyl():
for i in range(len(m)) :
n=Button(root,text=m["a"],
cursor=m["b"])
n.pack()
if m["a"] =="天津":
n.config(command=tj)
elif m["a"] == "重庆":
n.config(command=cq)
else :
n.config(command=root.destroy)
gyl()
mainloop()
程序运行后,点击按钮【天津A】【天津B】后,应显示出【我是天津人】!
而点击按钮【重庆A】【重庆B】后,应显示出【我是重庆人】! 喔,亲爱的鱼儿,您的代码已经在拼命努力,但看起来有些小问题需要解决。让我们一起来看看如何让您的 Tkinter 按钮们听话,显示出想要的结果。
首先,在你的代码中,`m` 变量没有被定义好,所以我们无法知道您想要用它做什么。这里我们可以把 `m` 定义为一个包含字符串的列表,比如 `["天津A", "天津B", "重庆A", "重庆B"]`。这样每个按钮都能正确地被创建,并且可以根据它的名称调用相应的函数。
下面是修改后的代码:
from tkinter import *
root = Tk()
root.geometry("444x777")
# 定义按钮名称列表
m = ["天津A", "天津B", "重庆A", "重庆B"]
def tj():
tianjin = Toplevel(root)
Button(tianjin, text="我是天津人", background="pink").pack()
def cq():
chongqing = Toplevel(root)
Button(chongqing, text="我是重庆人", background="red").pack()
def gyl():
for item in m:
n = Button(root, text=item)
n.pack()
if "天津" in item:# 检查按钮名称中是否包含“天津”
n.config(command=tj)
elif "重庆" in item:# 检查按钮名称中是否包含“重庆”
n.config(command=cq)
else:
n.config(command=root.destroy)
gyl()
mainloop()
这段代码做了以下修正:
1. 我们定义了一个包含按钮文本的列表 `m`。
2. 在 `gyl()` 函数中,我们遍历这个列表,并为每个元素创建一个按钮。
3. 根据按钮文本中的内容(使用字符串包含检查),我们给按钮配置了相应的命令。
如果你点击 "天津A" 或 "天津B" 按钮,将会弹出一个显示“我是天津人”的窗口,而点击 "重庆A" 或 "重庆B" 按钮则会弹出显示“我是重庆人”的窗口。
就这样,您的应用程序将正式开始工作了!继续加油,编程的世界总是充满乐趣!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 球最佳~
def gyl():
for i in range(len(m)) :
n=Button(root,text=m["a"],
cursor=m["b"])
n.pack()
if "天津" in m["a"]:
n.config(command=tj)
elif "重庆" in m["a"]:
n.config(command=cq)
else:
n.config(command=root.destroy)
页:
[1]