我希望使用kivy语言定义一个小部件,但后来我想在类中添加函数。下面是我的天真尝试,当我点击按钮并显示消息" AttributeError:' MyButton'对象没有属性' second_pressed'"
如何使用函数和kivy语言定义一个类?
import sys
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.boxlayout import BoxLayout
root = Builder.load_string('''
BoxLayout:
Label:
text: 'hello'
MyButton:
<MyButton@Button>:
text: 'Second button'
on_press: self.second_pressed()
''')
class MyButton():
def second_pressed():
print "second pressed"
sys.stdout.flush()
class Tryit(App):
def build(self):
return root
if __name__ == '__main__':
Tryit().run()
答案 0 :(得分:2)
var elements = ThisPage.FindElements(By.XPath(".//*[starts-with(@id, 'item')]/div[1]/table/tbody/tr[6]/td[4]"))
这动态地定义了一个名为<MyButton@Button>:
的 new 类,它与您添加该方法的python代码中的MyButton
无关。
要使其工作,请只编写MyButton
,这表示现有类的规则。您可能还需要延迟<MyButton>:
,直到宣布此课程为止 - 通常最好在App的Builder.load_string
方法中执行此操作,因为所有重要内容都保证是在这一点初始化。