python-3.x - 如何摆脱这个 TypeInput 错误?
问题描述
抱歉,我对此真的很陌生,所以我不了解某些语法,所以我尝试运行此代码以查看是否可以让应用程序通过文本输入返回 2 个变量,但此错误不断弹出
from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.uix.label import Label
from kivy.uix.image import Image
from kivy.uix.button import Button
from kivy.uix.textinput import TextInput
class SayHello(App):
def build(self):
self.window = GridLayout()
self.window.cols = 1
#add widgets to window
# image widget
self.window.add_widget(Image(source="man.jpg"))
#Label widget
self.matsize = Label(text="input size of material?")
self.window.add_widget(self.matsize)
# text input widget
self.user = TextInput(multiline=False)
self.window.add_widget(self.user)
self.user2 = TextInput(multiline=False)
self.window.add_widget(self.user2)
#button widget
self.button = Button(text="GREET")
self.button.bind(on_press=self.callback)
self.window.add_widget(self.button)
return self.window
def callback(self, instance):
self.matsize.text = "your material sizer is " + self.user + "x"
if __name__ == "__main__":
SayHello().run()
以下是错误
File "c:\Users\Abu\Documents\Py Noob\Shop calculator.py", line 33, in callback
self.matsize.text = "your material sizer is " + self.user + "x"
TypeError: can only concatenate str (not "TextInput") to str
我得到的任何帮助将不胜感激
解决方案
def callback(self, instance):
self.matsize.text = "your material sizer is " + self.user + "x"
self.user
是一个TextInput
。str + TextInput + str
看起来不太好。也许您想使用TextInput
.
因此,将您的代码替换为:
def callback(self, instance):
self.matsize.text = "your material sizer is " + self.user.text + "x"
推荐阅读
- json - 地理数据的 CouchDB 最佳文档模型
- javascript - 使用 Javascript 更改/循环图像
- vim - snip.rv 中的 Vim urlsnippets tabstop 输出为 str,如何在其中使用制表位?
- jquery - jquery datatable 复杂表头重复问题
- javascript - 一个完美的 Angular 材质底部导航栏。我缺少一个组件吗?
- asynchronous - 如果是批处理,promises 和 async/await 会创建很多线程吗?它是否比同步版本更好?
- google-chrome-devtools - Chrome 控制台,复选框
- php - Laravel 查询生成器中的条件 WHERE 语句不适用于 LIMIT
- javascript - React Native Axios 请求失败,状态码 404
- javascript - 如何使用 Apps 脚本将秒表的最终读数发送到电子表格