如何在Python tkinter中显示3x3网格?

时间:2016-01-07 14:48:17

标签: python list user-interface tkinter set

对于我打算开发的程序,我必须开发一个3x3网格,它将显示已转换为列表的一组中的单词。为了达到这个目的,我知道一种方法,可以使用已经在开发列表中的换行符列表创建一个3x3网格。但是,我的程序在更多样化的级别上运行,而不是具有预定义的文本文件/列表,我的set / list由用户输入定义并且utalises文件对话框允许用户选择他们自己的9个单词用于3x3网格。出于这个原因,我认为不可能应用换行符。还有另一种方法我可以显示一个3x3网格,显示这9个单词中的每一个。非常感谢任何给出的建议。至于代码...如果有人认为任何特定的代码段可以帮助他们解决这个问题,请不要犹豫,发表评论。非常感谢你!

2 个答案:

答案 0 :(得分:0)

创建3x3网格并不比循环项目和创建小部件困难。

这将创建一个3x3标签网格,在字典中存储对小部件的引用:

table = tk.Frame(root)
for row in range(3):
    for col in range(3):
        label = tk.Label(table, text="")
        label.grid(row=row, column=col, sticky="nsew", padx=1, pady=1)
        table[(row, col)] = label

然后,您可以使用标签窗口小部件的configure方法修改表的任何单元格。例如,这会将中间单元格设置为“Hello”:

table[(1,1)].configure(text="Hello")

答案 1 :(得分:-1)

oyoy,我看到dis,

table = tk.Frame(root)
for row in range(3):
    for col in range(3):
        label = tk.Label(table, text="")
        label.grid(row=row, column=col, sticky="nsew", padx=1, pady=1)
        table[(row, col)] = label