【发布时间】:2018-07-29 11:49:40
【问题描述】:
所以我正在编写代码来显示我想用画布中的线条和多边形制作的徽标,在我尝试运行它之后:令人惊讶的是,画布没有出现。我做错了什么?
from tkinter import *
class Logo(Frame):
def _init__(self):
Frame.__init__(self)
logo = Canvas(root, width=100, height=100)
logo.pack(in_=self)
class App(Frame):
def __init__(self, master = None):
Frame.__init__(self, master)
self.pack()
self.showLogo()
def showLogo(self):
self.logo = Logo().pack(side=TOP, pady=100)
root = Tk()
root.title("K-80.1")
root.configure(background="#7E607E")
root.geometry("760x500")
app = App(master = root)
app.mainloop()
【问题讨论】:
-
您在
Logo中有错字:_init__。 -
顺便说一句,
.pack返回None,所以self.logo = Logo().pack(side=TOP, pady=100)将self.logo设置为None。此外,在Logo类定义中,您使用的是全局root。最好将master作为参数传递给showLogo和Logo.__init__。