【发布时间】:2014-06-27 07:01:28
【问题描述】:
我是 python 和 kivy 的新手,我被困在 __init__ 变量实例化,我的代码如下:
from kivy.uix.button import Button
from kivy.uix.gridlayout import GridLayout
from kivy.uix.boxlayout import BoxLayout
spots={}
class spot(Button):
'''
classdocs
'''
def __init__(self, **kwargs):
'''
Constructor
'''
super(spot,self).__init__(**kwargs)
self.ismine=False
self.text="X"
class game(BoxLayout):
def attachtogrid(self):
self.m.clear_widgets()
spots.clear()
for r in range(0,25):
for c in range(0,25):
id=str(r)+","+str(c)
spots[id]=id
self.m.add_widget(spot(text=id))
我的问题是,虽然我将 id 值传递给 text 属性(最后一行代码),但我仍然得到 'X' 作为文本,这在 Spot 类中是默认的;如果我删除默认文本 (self.text="X") 来自 ID 文本正在工作的类。
能否请您澄清上述默认值和实例化差异。谢谢你。
【问题讨论】:
标签: python python-3.x kivy