[英]How to put geometry in a Toplevel in Tkinter?
我正在尝试在Tkinter的顶级中制作图形。 我认为问题在于您无法在Tkinter中打包顶级,并且需要在放置几何图形(例如:线,矩形等)之前打包画布。 这是我尝试编写的代码的片段(城市名称是我的课程中的实例变量):
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:顶级实例没有属性'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()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.