2016-03-23 25 views
0

これはあなたのためには簡単な質問です。だから私はいくつかのコードヒーターコントローラとのインターフェイスに取り組んでいます。 GUIは主にKivy言語で書かれています(さまざまな画面をコンパクトにするため)、私はすべてのKivyファイルを結びつける.pyファイルを持っています。私のKivyファイルには、ユーザーがいくつかの数値を定義するためのTextInputフィールドがいくつかあります。テキストフィールドが一旦満たされると、ユーザは「スタート」ボタンをクリックしてヒーターテストを開始する。 私の質問は、「スタート」ボタンを私のフラグとして使うときに、フィールドにある数値を読むためにPythonを入手するにはどうしたらいいですか?私はオンラインで見てきました。 raw_inputメソッドを取得しますが、PythonがKivyコードから値を取得して解釈することはありません。どんな助けでも大歓迎です!これは、単一のコードを含む、Kivyファイルからの抜粋ですPython 2.7のユーザー入力データをKivyファイルから読み取る

class ControllerScreen(Screen): 

def build(self): 
    return ControllerScreen() 

def CreateExcelFile(self): 
     wb = Workbook() 
     ws = wb.active 
     ws.cell('A1').value = 'Timestamp' 
     ws.cell('B1').value = 'Temperature' 
     ws.cell('C1').value = 'Batch 1' 
     ws.cell(row=2, column=1).value = 000 
     wb.save("Spreadsheet1.xlsx") 

これは私がユーザーの入力値が評価する必要がある私の.pyファイル、PF一部です...ユーザーのタイプに番号...

<ControllerScreen>: 
    TextInput:         #Ramp time increment field 
     id: ramp_time 
     font_size: 25 
     size_hint: 0.1,0.06 
     pos_hint: {"right":0.575, 'y':0.67} 

    Button:        #Start analysis button 
     on_release: app.root.current = "home" 
     text: "Start" 
     font_size: 25 
     color: 0,1,0.5,1 
     size_hint: 0.29,0.075 
     pos_hint: {'x':0.35, 'y':0.1} 

そして最後には、ここではGUIの絵は、私は(1が赤丸に関する午前のテキストフィールドにいくつかの参照を与えることであるテキストフィールドには1つのIです上のコードの参照)...

GUI Interface

答えて

0

したがって、あなたがする必要がある番号を取得するために、あなたはTextInputコントロールのプロパティtextを使用する必要がTextInputの値にアクセスするには:あなたは、あなたのControllerScreentextにアクセスしない場合は

n = int(self.ids.ramp_time.text) #or float or whatever you need 

をクラス間の通信を管理する必要があるため、それらの間で変数を使用することができます。あなたはこれらの答えで達成することができます:12例えば、お使いのユーザーは、私がオンラインに見てきた(例えば、入力文字/秒)

何かを台無しにしないように、あなたの入力のためのfilteringを設定するためのオプションがあります

とに.getを使用する方法についての記事raw_inputメソッドがありますが、PythonがKivyコードから値を取得して解釈するものはありません。

私は、あなたがKivyからではなく、Pythonから直接ユーザーの入力を得ることを検討していると思います。私はKivyがかなり新しくなっていると言いたいので、古いチュートリアル/ウェブサイトには言及されません。公式ウェブサイトまたはYouTubeのいずれかでkivyのチュートリアルやドキュメントが直接入手できます。

関連する問題