我现在可以将类实例化,但我无法引用创建的对象。
此按钮调用一个以变量作为参数的函数。
self.gencharbutton = Button(self.topleftframe, text='8: Generate Character!', command=lambda: self.createcharacterobject(self.racevar.get()))
如果我要在脚本中创建这个对象,我会做这样的事情:
character = self.createcharacterobject(self.racevar.get()))
然后我可以像这样引用对象及其属性:
character.name
或
character.height
鉴于我不能在Button中放置赋值语句,我该如何引用该对象?
对不起,但我仍然掌握着OOP,所以答案可能对其他人来说相当明显。谢谢你的时间。
答案 0 :(得分:0)
我知道这是一个很老的问题,但这是我在类似案例中所做的(尽管像我1个月前刚开始上下班的时候就开始学习编程和python)
from tkinter import *
class Character:
def __init__(self,race):
self.race=race
def createCharacter():
charname=field1.get()
chlst.insert(0,charname)
text=("global "+chlst[0]+"\n"+chlst[0]+"=Character('"+racevar.get()+"')")
exec(text)
chlst=[]
root=Tk()
field1=Entry(root)
field1.pack()
racevar=Entry(root)
racevar.pack()
butt1=Button(root,text="Create",command=createCharacter)
butt1.pack()
root.mainloop()
因此,基本上,我从条目小部件中获取名称并将其存储在列表中,以便以后在需要时可以获取它。
我很想念的一件事是在稍后执行的文本中声明"global "+chlst[0]+"\n"
。