在pygame
中,我使用games.screen.width
来访问width
属性。
won_message = games.Message(value = "You won!",
size = 100,
color = color.red,
x = games.screen.width/2,
y = games.screen.height/2,
lifetime = 250,
after_death = games.screen.quit)
在tkinter
中,我使用self.result['text']
来访问text
属性
self.result = Label(self, text='Result:?')
self.result.grid(row=0, column=3, sticky=W)
self.result['text'] = 'Finish'
有人可以向我解释为什么有不同的方法来访问属性吗?
答案 0 :(得分:0)
对于tkinter,这些属性不是对象的属性,它们是底层tk小部件的属性,Tkinter类只是一个包装器。
访问这些属性的规范方法是使用configure
或cget
方法。 Tkinter提供了一个类似于dict的界面,只是一种语法简写。
例如,以下两个陈述是相同的:
self.result.configure(text="Finish")
self.result["text"] = "Finish"
这些是:
print(self.result.cget("text"))
print(self.result["text"])