gpt4 book ai didi

python - 如何在 Tkinter 中将几何图形放入顶层?

转载 作者:太空宇宙 更新时间:2023-11-03 18:48:30 25 4
gpt4 key购买 nike

我正在尝试在 Tkinter 的顶级中制作图表。我认为问题在于你无法在 Tkinter 中打包 Toplevels,并且需要在放置几何图形(例如:线条、矩形等)之前打包 Canvas 。这是我试图编写的代码的片段(城市名称是我的类中的实例变量):

def graph(self):
print self.cityName
top = Toplevel(master, width = 300, height = 300)
top.title(self.cityName + "'s Population")
top.create_line(10, 300-10, 10, 300)
top.create_line(10, 300-10, 300-10, 10)

当它尝试在第 5 行代码中创建该行时,会引发错误。有没有办法在 python 的 Tkinter 中的顶层创建行?

这是错误:

AttributeError: Toplevel instance has no attribute 'create_line'

最佳答案

Toplevel 没有 create_line 方法,但 tk.Canvas 有。因此,在 Toplevel 中打包一个 Canvas,然后在 Canvas 上进行绘制:

import Tkinter as tk
root = tk.Tk()
top = tk.Toplevel(root, width = 300, height = 300)
canvas = tk.Canvas(top, bg='white')
canvas.pack(expand=tk.YES, fill=tk.BOTH)

top.title("Population")
canvas.create_line(10, 300-10, 10, 300)
canvas.create_line(10, 300-10, 300-10, 10)
root.mainloop()

关于python - 如何在 Tkinter 中将几何图形放入顶层?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18922924/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com