公式サイトにやり方はのってたみたいなんだけど、いろいろ試したけど読解力がだめで初心者に優しいterateilってサイトで質問しました。
teratailとは
15分調べてもわかんないならとりあえずここで聞いてくれ!答えくれるから!
っていう初心者に優しいサイト!
リンクはこちら
https://teratail.com/
自分でしてみた質問
https://teratail.com/questions/68831
ここからとべます。
早速質問を見てくれて答えてくれた方のコードをそのままコピペして
**複数行ではなく1行だけを入力する処理(イベント?)**を教えていただたいたので実行。
試しに適当に文字をうってEnterをおすと改行されない!
しかしこのままではウィンドウいっぱいに枠が表示されてしまう。
kvファイル
思い出したのがkvファイル。
kvファイルというのはHTMLでいうCSSのようなもの。
オブジェクトの位置や大きさなどを変更することができる。
直接メインファイルに書き込むこともできるけど分けた方がすっきりするから利用するしかない。
こんなmainファイルがあったとする
from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.textinput import TextInput
class testApp(App):
def build(self):
layout = FloatLayout()
ti = TextInput(text='Hello world', multiline=False)
ti.bind(on_text_validate=self.on_enter)
layout.add_widget(ti)
return layout
def on_enter(self, ti):
print("on_enter[%s]" % (ti.text))
if __name__ == "__main__":
testApp().run()
同ディレクトリ(フォルダ)の中にtest.kvっていうファイルを用意する
中身はこんな感じ
テキストで書きたかったけど記号のせいか上手くいかなかったので画像です
こう書くことでtest.pyファイルを実行すると・・・
上手くいきました!これで1歩前進!ということで1行入力ボックスの作成&場所指定方法でした!
(※terataliで回答してくださった方ありがとうございました!)
今回使用しているVersion
- Windows10
- Anaconda3(python3.5.2)
- kivy1.9.1