Bind TextInput to Label in .kv File












0















I was following the tutorial video "Kivy crash course 3: More interesting widget interactions" by Alexander Taylor, but he is writing the code in python rather than in a .kv file. I was trying to follow the tutorial using a .kv file instead, but I am confused on how to bind the TextInput text to the label text.
Is it possible to write it in the .kv file or does it have to be written in the .py file. Can you give an example?



.py



from kivy.app import App

from kivy.lang import Builder
from kivy.uix.scatter import Scatter
from kivy.uix.label import Label
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.textinput import TextInput
from kivy.uix.boxlayout import BoxLayout


class MainApp(App):

def build(self):
return pres

pres = Builder.load_file("main.kv")

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


.kv



BoxLayout:
orientation: 'vertical'
TextInput:
size_hint_y: None
height: 200
font_size: 150
hint_text: "Enter Text"
text: ""
FloatLayout:
Scatter:
Label:
text: ""
font_size: 150









share|improve this question



























    0















    I was following the tutorial video "Kivy crash course 3: More interesting widget interactions" by Alexander Taylor, but he is writing the code in python rather than in a .kv file. I was trying to follow the tutorial using a .kv file instead, but I am confused on how to bind the TextInput text to the label text.
    Is it possible to write it in the .kv file or does it have to be written in the .py file. Can you give an example?



    .py



    from kivy.app import App

    from kivy.lang import Builder
    from kivy.uix.scatter import Scatter
    from kivy.uix.label import Label
    from kivy.uix.floatlayout import FloatLayout
    from kivy.uix.textinput import TextInput
    from kivy.uix.boxlayout import BoxLayout


    class MainApp(App):

    def build(self):
    return pres

    pres = Builder.load_file("main.kv")

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


    .kv



    BoxLayout:
    orientation: 'vertical'
    TextInput:
    size_hint_y: None
    height: 200
    font_size: 150
    hint_text: "Enter Text"
    text: ""
    FloatLayout:
    Scatter:
    Label:
    text: ""
    font_size: 150









    share|improve this question

























      0












      0








      0








      I was following the tutorial video "Kivy crash course 3: More interesting widget interactions" by Alexander Taylor, but he is writing the code in python rather than in a .kv file. I was trying to follow the tutorial using a .kv file instead, but I am confused on how to bind the TextInput text to the label text.
      Is it possible to write it in the .kv file or does it have to be written in the .py file. Can you give an example?



      .py



      from kivy.app import App

      from kivy.lang import Builder
      from kivy.uix.scatter import Scatter
      from kivy.uix.label import Label
      from kivy.uix.floatlayout import FloatLayout
      from kivy.uix.textinput import TextInput
      from kivy.uix.boxlayout import BoxLayout


      class MainApp(App):

      def build(self):
      return pres

      pres = Builder.load_file("main.kv")

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


      .kv



      BoxLayout:
      orientation: 'vertical'
      TextInput:
      size_hint_y: None
      height: 200
      font_size: 150
      hint_text: "Enter Text"
      text: ""
      FloatLayout:
      Scatter:
      Label:
      text: ""
      font_size: 150









      share|improve this question














      I was following the tutorial video "Kivy crash course 3: More interesting widget interactions" by Alexander Taylor, but he is writing the code in python rather than in a .kv file. I was trying to follow the tutorial using a .kv file instead, but I am confused on how to bind the TextInput text to the label text.
      Is it possible to write it in the .kv file or does it have to be written in the .py file. Can you give an example?



      .py



      from kivy.app import App

      from kivy.lang import Builder
      from kivy.uix.scatter import Scatter
      from kivy.uix.label import Label
      from kivy.uix.floatlayout import FloatLayout
      from kivy.uix.textinput import TextInput
      from kivy.uix.boxlayout import BoxLayout


      class MainApp(App):

      def build(self):
      return pres

      pres = Builder.load_file("main.kv")

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


      .kv



      BoxLayout:
      orientation: 'vertical'
      TextInput:
      size_hint_y: None
      height: 200
      font_size: 150
      hint_text: "Enter Text"
      text: ""
      FloatLayout:
      Scatter:
      Label:
      text: ""
      font_size: 150






      python python-3.x kivy






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 13 '18 at 18:00









      SpencerSpencer

      33




      33
























          1 Answer
          1






          active

          oldest

          votes


















          0














          the binding in .kv are simpler due to the fact that it is a declarative language, it is enough with an assignment but for that the element that has the information must have an id.



          *.kv



          BoxLayout:
          orientation: 'vertical'
          TextInput:
          id: ti # <---
          size_hint_y: None
          height: 200
          font_size: 150
          hint_text: "Enter Text"
          FloatLayout:
          Scatter:
          Label:
          text: ti.text # <---
          font_size: 150





          share|improve this answer























            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53286963%2fbind-textinput-to-label-in-kv-file%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            the binding in .kv are simpler due to the fact that it is a declarative language, it is enough with an assignment but for that the element that has the information must have an id.



            *.kv



            BoxLayout:
            orientation: 'vertical'
            TextInput:
            id: ti # <---
            size_hint_y: None
            height: 200
            font_size: 150
            hint_text: "Enter Text"
            FloatLayout:
            Scatter:
            Label:
            text: ti.text # <---
            font_size: 150





            share|improve this answer




























              0














              the binding in .kv are simpler due to the fact that it is a declarative language, it is enough with an assignment but for that the element that has the information must have an id.



              *.kv



              BoxLayout:
              orientation: 'vertical'
              TextInput:
              id: ti # <---
              size_hint_y: None
              height: 200
              font_size: 150
              hint_text: "Enter Text"
              FloatLayout:
              Scatter:
              Label:
              text: ti.text # <---
              font_size: 150





              share|improve this answer


























                0












                0








                0







                the binding in .kv are simpler due to the fact that it is a declarative language, it is enough with an assignment but for that the element that has the information must have an id.



                *.kv



                BoxLayout:
                orientation: 'vertical'
                TextInput:
                id: ti # <---
                size_hint_y: None
                height: 200
                font_size: 150
                hint_text: "Enter Text"
                FloatLayout:
                Scatter:
                Label:
                text: ti.text # <---
                font_size: 150





                share|improve this answer













                the binding in .kv are simpler due to the fact that it is a declarative language, it is enough with an assignment but for that the element that has the information must have an id.



                *.kv



                BoxLayout:
                orientation: 'vertical'
                TextInput:
                id: ti # <---
                size_hint_y: None
                height: 200
                font_size: 150
                hint_text: "Enter Text"
                FloatLayout:
                Scatter:
                Label:
                text: ti.text # <---
                font_size: 150






                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 13 '18 at 19:44









                eyllanesceyllanesc

                77.4k103156




                77.4k103156






























                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53286963%2fbind-textinput-to-label-in-kv-file%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Full-time equivalent

                    Bicuculline

                    さくらももこ