前提・実現したいこと
初心者質問で申し訳ありません。kivyで.pyと.kvに分けて書いています。Labelはstrしか受け入れてくれないのはわかるのですが、どうしたらupdate_time以下の処理をkivyのlabelに表示できるのかが良くわかりません。ゆくゆくはループさせて、1秒ごとに場所・時間を表示できるようにしようと考えています。何卒ご教授いただけると助かります。よろしくお願いします。
python
1class StopwatchScreen(Screen): 2 class StopwatchApp(App): 3 def update_time(self,nap): 4 geo_request_url = "https://get.geojs.io/v1/ip/geo.json" 5 geo_data = requests.get(geo_request_url).json() 6 lat = str(geo_data["latitude"]) 7 lon = str(geo_data["longitude"]) 8 return str(lat + " " + lon) + str(datetime.today()) 9
kivy
1 Label: 2 text_size: self.size 3 valign: "top" 4 color: 0, 1, 0, 1 5 font_size: "30" 6 bold: True 7 text: root.StopwatchApp.update_time 8
発生している問題・エラーメッセージ
ValueError: Label.text accept only str
該当のソースコード
ソースコード
試したこと
update_timeをstr()で囲ってみたり、kivy側のroot以下の書き方を変えてみたりしました。
補足情報(FW/ツールのバージョンなど)
PyCharm 2020.3.5 (Community Edition)
Build #PC-203.7717.81, built on March 25, 2021
Runtime version: 11.0.10+8-b1145.96 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
macOS 10.16
GC: ParNew, ConcurrentMarkSweep
Memory: 990M
Cores: 4
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/02/15 16:11