繁体   English   中英

如何在Tkinter的顶层放置几何?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM