LoginSignup
2

More than 5 years have passed since last update.

Kivyの1行入力ボックスの作成方法

Posted at

公式サイトにやり方はのってたみたいなんだけど、いろいろ試したけど読解力がだめで初心者に優しいterateilってサイトで質問しました。

teratailとは

15分調べてもわかんないならとりあえずここで聞いてくれ!答えくれるから!

っていう初心者に優しいサイト!
リンクはこちら
https://teratail.com/

自分でしてみた質問

https://teratail.com/questions/68831

ここからとべます。

早速質問を見てくれて答えてくれた方のコードをそのままコピペして
複数行ではなく1行だけを入力する処理(イベント?)を教えていただたいたので実行。

試しに適当に文字をうってEnterをおすと改行されない!

しかしこのままではウィンドウいっぱいに枠が表示されてしまう。

kvファイル

思い出したのがkvファイル。

kvファイルというのはHTMLでいうCSSのようなもの。

オブジェクトの位置や大きさなどを変更することができる。

直接メインファイルに書き込むこともできるけど分けた方がすっきりするから利用するしかない。
こんなmainファイルがあったとする

test.py
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っていうファイルを用意する

中身はこんな感じ
テキストで書きたかったけど記号のせいか上手くいかなかったので画像です
bandicam 2017-03-12 23-26-38-187.jpg

こう書くことでtest.pyファイルを実行すると・・・

ドーン!
無題.png

上手くいきました!これで1歩前進!ということで1行入力ボックスの作成&場所指定方法でした!

(※terataliで回答してくださった方ありがとうございました!)

今回使用しているVersion

  • Windows10
  • Anaconda3(python3.5.2)
  • kivy1.9.1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
2