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