Kivy StringProperty到python字符串转换

时间:2018-04-23 12:11:15

标签: python kivy

我是kivy和python的新手。

我有,output = StringProperty('')和另一个名为' text'的字符串。 现在我想转换"输出" to" text"然后对普通的python字符串执行进一步的操作。

"输出"和"文字"有两个不同的类别。

请帮助我进行此转换。我尝试了所有可能的解决方案,但我总是得到" AttributeError"或" NameError"。

提前谢谢。

这是代码部分

这是"输出"字符串 -

class RecordButton(Button):
# String Property to Hold output for publishing by Textinput
output = StringProperty('')
def record(self):
    # GUI Blocking Audio Capture
    with m as source:
        audio = r.listen(source)

    try:
        # recognize speech using Google Speech Recognition
        value = r.recognize_google(audio)
        self.output = "You said \"{}\"".format(value)

    except sr.UnknownValueError:
        self.output = ("Oops! Didn't catch that")

    except sr.RequestError as e:
        self.output = ("Uh oh! Couldn't request results from Google Speech Recognition service; {0}".format(e))

这是" original_text"字符串 -

def main(self):
    """main function"""
    original_text =????????
    if len(original_text) > 600:
        print("You can't check more than 600 characters at a time.")
        quit()
    fixed_text = original_text
    results = GrammarButton.get_ginger_result(self,original_text)

    # Correct grammar
    if(not results["LightGingerTheTextResult"]):
        print("Good English :)")
        quit()

1 个答案:

答案 0 :(得分:0)

使用 ObjectProperty 连接类RecordButton ,您可以在 class Main 中引用它。有关详细信息,请参阅下面的小示例。

实施例

main.py

from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.properties import StringProperty, ObjectProperty


class OutputKivyStringProperty(BoxLayout):
    output = StringProperty('Kivy StringProperty')


class RootWidget(BoxLayout):
    output_obj = ObjectProperty(None)

    def __init__(self, **kwargs):
        super(RootWidget, self).__init__(**kwargs)
        output_obj = OutputKivyStringProperty()
        text = output_obj.output
        print("text={}".format(text))


class TestApp(App):
    def build(self):
        return RootWidget()


if __name__ == "__main__":
    TestApp().run()

输出

Img01