Python GUI 和 TKinter 网格布局

1 投票
1 回答
613 浏览
提问于 2025-04-18 00:45

我刚开始学习Python,想写一个程序来显示一个8x8的网格。这个网格的竖线应该是红色的,横线应该是蓝色的。但是我不知道该怎么做。我知道这肯定需要用到循环,但我不知道从哪里开始。请帮帮我!

这是我目前写的代码:

from tkinter import *

class Canvas:
def __init__(self):
    self.window = Tk()
    self.window.title("Grid")

    self.canvas = Canvas(window, width = 200, height = 200,
                         bg = "white")
    self.canvas.pack()

def drawGrid(self):
    self.canvas.create_line()

谢谢!

1 个回答

0

你可以查看这个链接 http://effbot.org/tkinterbook/canvas.htm#Tkinter.Canvas.create_line-method,里面详细介绍了 create_line() 这个方法。

使用这个方法时,你需要提供两个参数:一是线条的坐标,二是填充颜色。坐标的格式是 [x0, y0, x1, y1],这些值是以父组件的左上角为原点的像素值。所以,如果你想在一个200x200的 Canvas 上画一条水平的绿色线,你可以这样写:

self.canvas.create_line(0,0,200,200, fill='green')

如果你想创建一组线条,可以使用for循环或while循环,每次循环时修改坐标列表,然后在每次循环结束时把新的坐标传给 create_line() 方法。

这样你就可以开始了。

撰写回答