簡體   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