【发布时间】:2021-03-23 04:39:30
【问题描述】:
我对编程很陌生,我目前正在关注一个视频来为一个项目开发一个应用程序。我似乎无法理解导致以下错误的原因。
TypeError: object.__init__() takes exactly one argument (the instance to initialize)
代码如下; (第一个文件)
class MainApp(App):
my_friend_id = 1
def build(self):
return GUI
def on_start(self):
# get database data
result = requests.get("https://wearable-balance-belt1-default-rtdb.firebaseio.com/" + str(self.my_friend_id) +".json")
data = json.loads(result.content.decode())
# get and update avatar
avatar_image = self.root.ids['home_screen'].ids['avatar_image']
avatar_image.source = "icons/" + data['avatar']
banner_grid = self.root.ids['home_screen'].ids['banner_grid']
workouts = data['workouts'][1:]
for workout in workouts:
W = WorkoutBanner(workout_image=workout['workout_image'], description=workout['description'])
banner_grid.add_widget(W)
def change_screen(self, screen_name):
# get the screen manager from the kv file
screen_manager = self.root.ids['screen_manager']
screen_manager.current = screen_name
# screen_manager = self.root.ids
MainApp().run()
还有第二个文件;
from kivy.uix.gridlayout import GridLayout
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.label import Label
from kivy.uix.image import Image
class WorkoutBanner(GridLayout):
rows = 1
def __init__(self, **kwargs):
super(WorkoutBanner, self).__init__(**kwargs)
#left floatlayout
left = FloatLayout()
left_image = Image(source="icons/" + kwargs['workout_image'], size_hint=(1, .8), pos_hint={"top": 1, "left": 1})
left_label = Label(text=kwargs['description'], size_hint=(1, .2), post_hint={"top": .2, "left": 1})
left.add_widget(left_image)
left.add_widget(left_label)
self.add_widget(left)
如果我能得到任何帮助,我们将不胜感激!
【问题讨论】:
标签: python kivy mobile-application