如何将3x3网格从python转换为tkin

2024-04-19 19:04:02 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我有这段代码,它只在pythonshell中打印出来,我想知道如何使用tkinter中的标签获得单词并将它们放入网格中。很抱歉我没有解释。在

import random
    with open('Words.txt') as f:
        words = random.sample([x.rstrip() for x in f],9)
        grid = [words[i:i +3] for i in range(0, len(words),3)]
        for x,y,z in grid:
            print(x,y,z)

Tags: 代码inimport网格fortkinterwithrandom
2条回答

这应该能让你开始。我通常在我的项目中使用pack。但对于这一点,我建议使用网格,因为它允许您轻松地定位标签。在

import tkinter as tk


words = [['Word 1', 'Word 2', 'Word 3'],\
         ['Word 4', 'Word 5', 'Word 6'],\
         ['Word 7', 'Word 8', 'Word 9']]

root = tk.Tk()

for i, (x, y, z) in enumerate(words):
    tk.Label(root, text=x).grid(row=i, column=0)
    tk.Label(root, text=y).grid(row=i, column=1)
    tk.Label(root, text=z).grid(row=i, column=2)


root.mainloop()

在python3中,使用现有代码的另一个答案是:

import random
from tkinter import *
root = Tk()
    with open('Words.txt') as f:
        words = random.sample([x.rstrip() for x in f],9)
        grid = [words[i:i +3] for i in range(0, len(words),3)]
        for i, (x,y,z) in grid:
            Label(root, text=x).grid(row=i, column=0)
            Label(root, text=y).grid(row=i, column=1)
            Label(root, text=z).grid(row=i, column=2)

root.mainloop()

无法为您测试,因为没有样本数据,但应该可以工作。在

相关问题 更多 >