dragov 发表于 2024-10-25 13:42:26

Tkinter 排列矩阵


from tkinter import *
import time
root=Tk()
root.option_add("*font","方正兰亭超细黑简体 22")
root.title(time.strftime("%F-%A"))
root.option_add("*background","indigo")
def boda(a,b,c,d):
      for i in range(0,3):
            Button(root,text=a).grid(row=0,column=3)
            Button(root,text=b).grid(row=1,column=2)
            Button(root,text=c).grid(row=2,column=1)
            Button(root,text=d).grid(row=3,column=0)      
boda("互相合作","配合协调","同进同退","上下一心")
mainloop()

如何使用for语句来完成相应的结果?

FishC 发表于 2024-10-25 13:42:38

要使用 `for` 循环完成按钮的排列,可以将按钮的文本和对应位置用列表或其他数据结构存储,然后通过循环进行布局。以下是一个简单的实现:

from tkinter import *
import time

root = Tk()
root.option_add("*font", "方正兰亭超细黑简体 22")
root.title(time.strftime("%F-%A"))
root.option_add("*background", "indigo")

def boda(labels, positions):
    for i in range(len(labels)):
      Button(root, text=labels).grid(row=positions, column=positions)

# 文本和对应的行、列位置
labels = ["互相合作", "配合协调", "同进同退", "上下一心"]
positions = [(0, 3), (1, 2), (2, 1), (3, 0)]

boda(labels, positions)
mainloop()

这样,每个按钮的文本和位置都对应存储在 `labels` 和 `positions` 列表中,通过 `for` 循环一次性布局。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: Tkinter 排列矩阵