2016-11-13 207 views
0

私はこれを後のプロジェクトに使用したいのですが、TextInputのボタンをクリックしてユーザーの入力を印刷したいのですが、実行してボタンをクリックすると "Printテキスト "何もエラーが発生せず、出力もありません。kivyからの入力を取得する

.kvファイル:

#: import FadeTransition kivy.uix.screenmanager.FadeTransition 

ScreenManagement: 
    transition: FadeTransition() 
    MainScreen: 
    SecondScreen: 

<MainScreen>: 
    name: "main" 
    Button: 
     on_release: root.get_text 
     text: "Print Text" 
     font_size: 50 
     size_hint:0.3,0.1 

    TextInput: 
     text:"Hello World" 
     size_hint: 0.35,0.25 
     pos_hint:{"right":1, "top":1} 
     color:1,0,0,1 
     id: user_text 

    Button: 
      color: 0,1,0,1 
      font_size: 25 
      size_hint: 0.3,0.25 
      text: "Continue" 
      on_release: app.root.current = "other" 
      pos_hint:{"right":1, "top":0} 


<SecondScreen>: 
    name: "other" 
    FloatLayout: 
     Button: 
      color: 0,1,0,1 
      font_size: 25 
      size_hint: 0.3,0.25 
      text: "Back Home" 
      on_release: app.root.current = "main" 
      pos_hint:{"right":1, "top":1} 

のpythonコード:

from kivy.app import App 
#kivy.require("1.9.1") 
from kivy.lang import Builder 
from kivy.uix.screenmanager import ScreenManager, Screen , FadeTransition 
from kivy.uix.widget import Widget 
from kivy.graphics import Line 
from kivy.uix.textinput import TextInput 

class MainScreen(Screen): 
    def get_text(self,*args): 
     textinput= self.ids.user_text 
     user= TextInput.text 
     print(user) 



class SecondScreen(Screen): 
    pass 

class ScreenManagement(ScreenManager): 
    pass 


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


class MainApp(App): 
    def build(self): 
    return gui 


MainApp().run() 
+0

GET_TEXTであなたが'TextInputを行うことはカジュアルPythonが結合したかのように

on_release: do_this() 

いますが、括弧なしでそれをやりました。 'textinput.text'の代わりに 'text'を入力します。 – Tshirtman

答えて

0

あなたはkvでコーディングするときは、例えばコール機能をたい場合のように、あなたが直接結合

self.bind(on_release=do_this) 

は括弧を追加し、それを印刷してください:

on_release: root.get_text() 
関連する問題