Python 使用tkinter绘制一个表格,其中单元格需要在单击时着色,并通过代码检索选项

Python 使用tkinter绘制一个表格,其中单元格需要在单击时着色,并通过代码检索选项,python,tkinter,Python,Tkinter,我是tkiinter的新手,我没有在互联网上找到解决问题的方法 首先,我需要画一个三角形的表格,类似于图中的表格() 然后用户可以在某个地方选择一种颜色(从列表或类似的东西中),并通过单击它来更改三角形的颜色。最重要的是,我需要在代码中检索这些信息(对于每个trinagle,我需要知道用户选择的颜色) 编辑: 我仍然没有写任何代码,但我知道如何用画布绘制表格,以及或多或少如何处理着色部分。对我来说,最困难的部分是如何检索代码中的信息,我认为这就像把表中的每个元素看作一个独立的对象或类似的东西,但

我是tkiinter的新手,我没有在互联网上找到解决问题的方法

首先,我需要画一个三角形的表格,类似于图中的表格()

然后用户可以在某个地方选择一种颜色(从列表或类似的东西中),并通过单击它来更改三角形的颜色。最重要的是,我需要在代码中检索这些信息(对于每个trinagle,我需要知道用户选择的颜色)

编辑:
我仍然没有写任何代码,但我知道如何用画布绘制表格,以及或多或少如何处理着色部分。对我来说,最困难的部分是如何检索代码中的信息,我认为这就像把表中的每个元素看作一个独立的对象或类似的东西,但我不知道如何去做。

我不会给你一个完整的解决方案,但你可能会发现下面的内容是一个有用的起点

import tkinter as tk
from random import choice

def getRandomColor():
    return choice(['red','blue','green','yellow','white','goldenrod'])

def click(event):
    print(vars(event))
    item = event.widget.find_withtag('current')
    event.widget.itemconfig(item,fill=getRandomColor())

root = tk.Tk()
root.grid()

c = tk.Canvas(root,width=300,height=300,bg='black')
c.grid()
c.create_polygon(0,0,100,0,50,100,fill='blue',tag='tri_1')
c.create_polygon(100,0,50,100,150,100,fill='yellow',tag='tri_2')
c.bind('<Button-1>',click)

root.mainloop()
将tkinter作为tk导入
从随机进口选择
def getRandomColor():
返回选项([‘红色’、‘蓝色’、‘绿色’、‘黄色’、‘白色’、‘黄花’))
def单击(事件):
打印(变量(事件))
item=event.widget.find_with tag('current')
event.widget.itemconfig(item,fill=getRandomColor())
root=tk.tk()
root.grid()
c=tk.Canvas(根,宽=300,高=300,bg='black')
c、 网格()
c、 创建多边形(0,0100,0,50100,fill='blue',tag='tri'u 1')
c、 创建多边形(100,0,50100150100,填充class='yellow',标记class='tri_2')
c、 绑定(“”,单击)
root.mainloop()
这将创建两个三角形。如果你点击一个三角形,它会变成一个随机的颜色(从一个小的颜色列表)。 这将给你一些关于 A.在tkinter画布上绘制多边形 B将函数绑定到单击 C更改画布项目的属性


希望这对您有所帮助

欢迎来到Stackoverflow。你能展示一下你的工作代码吗,甚至可以尝试一下吗?(如)这看起来像是一项作业,显示您的工作量为0。若要绘制三角形,您需要
画布
,可能还需要带标记的对象。你可以使用不同颜色的按钮来选择颜色,但是应该有一个选择颜色的对话框窗口。effbot.org:谢谢,我认为将每个三角形创建为一个新的多边形应该可以解决我的问题。