【发布时间】:2015-03-20 20:51:18
【问题描述】:
我想知道如何让我的代码工作。我有一堂课,它创建了一个带有按钮的弹出窗口。每个按钮都应该绑定到子类。但它不起作用。我的代码有什么问题?
class chooser:
def __init__(self):
None
def show(self,title,options=["NOTHING"],size=(.5,.5)):
self.bts = {}
self.response = False
self.content = FloatLayout()
self.content.pos_hint = {"y":0,"x":0}
# create buttons
pos_cntr = 0
for opt in options:
self.bts[pos_cntr] = Button(text=opt)
self.bts[pos_cntr].size_hint = 1,float(1)/float(len(options))
self.bts[pos_cntr].pos_hint = {"x":0,"y":pos_cntr}
self.bts[pos_cntr].bind(on_press=self.canceldia)
self.content.add_widget(self.bts[pos_cntr])
print "bound"
pos_cntr += float(1)/float(len(options))
self.pop = Popup(title=title,content=self.content,auto_dismiss=False)
self.pop.size_hint = size
self.pop.open()
def canceldia(self,instance):
print "closing"
self.response = instance.text
self.pop.dismiss()
def getresponse(self):
return self.response
我已经导入了所有需要的模块。
我是这样执行的:
c = chooser()
c.show("hello","world",["welcome","close","nothing","example"])
我已经创建了一个根小部件。弹出窗口工作正常,一切都很好,但按钮没有绑定。请帮帮我!
【问题讨论】: