Feb-12-2018, 05:16 PM
(This post was last modified: Feb-12-2018, 08:26 PM by antonmichel.)
hey guys,
I want to build an ecommerce app with kivy and satchless, i am working on making the list with kivy but i am stuck with this error, any help ?
list.py:
I want to build an ecommerce app with kivy and satchless, i am working on making the list with kivy but i am stuck with this error, any help ?
list.py:
from kivy.uix.gridlayout import GridLayout from kivy.uix.listview import ListView, ListItemButton from kivy.adapters.dictadapter import DictAdapter from list_data import items_data from list_detail import ItemDetailView class MasterDetailView(GridLayout): def __init__(self, items, **kwargs): kwargs['cols'] = 2 super(MasterDetailView, self).__init__(**kwargs) list_item_args_converter = \ lambda row_index, rec: {'text': rec['name'], 'size_hint_y': None, 'height': 25} dict_adapter = DictAdapter(sorted_keys=sorted(items_data.keys()), data=items_data, args_converter= list_item_args_converter, slection_mode='single', allow_empty_selection=False, cls=ListItemButton) master_list_view = ListView(adapter=dict_adapter, size_hint=(.3, 1.0)) self.add_widget(master_list_view) detail_view = ItemDetailView( item_name=dict_adapter.selection[0].text, size_hint=(.7, 1.0)) dict_adapter.bind(on_selection_change=detail_view.item_changed) self.add_widget(detail_view) if __name__ == '__main__': from kivy.base import runTouchApp master_detail = MasterDetailView(sorted(items_data.keys()), width=800) runTouchApp(master_detail)list_data.py
item_data_attribute = ['itemNo', 'Size', 'Weight', 'Made in', 'Price'] item_data_list_of_dicts = [ {'name': 'a', 'data':[1,1,1,1,1], 'is_selected': False}, {'name': 'b', 'data':[2,2,2,2,2], 'is_selected': False}, {'name': 'c', 'data':[3,3,3,3,3], 'is_selected': False}, {'name': 'd', 'data':[4,4,4,4,4], 'is_selected': False}, {'name': 'e', 'data':[5,5,5,5,5], 'is_selected': False} ] item_data_attribute_units = ['(g)', '(%DV)', '(mg)', '(%DV)', '(%DV)'] attributes_and_units = dict(list(zip(item_data_attribute, item_data_attribute_units))) items_data = {} for item_record in item_data_list_of_dicts: items_data[item_record['name']] = {} items_data[item_record['name']] = \ dict({'name': item_record['name'], 'is_selected': item_record['is_selected']}, **dict(list(zip(list(attributes_and_units.keys()), item_record['data']))))list_detail.py
from kivy.uix.gridlayout import GridLayout from kivy.uix.label import Label from kivy.uix.boxlayout import BoxLayout from kivy.properties import StringProperty from list_data import item_data_attribute from list_data import items_data class ItemDetailView(GridLayout): item_name = StringProperty('', allownone=True) def __init__(self, **kwargs): kwargs['cols'] = 2 self.item_name = kwargs.get('item_name', '') super(ItemDetailView, self).__init__(**kwargs) if self.item_name: self.redraw() def redraw(self, **args): self.clear_widgets() if self.item_name: self.add_widget(Label(text="name:", haligh='right')) self.add_widget(Label(text=self.item_name)) for attribute in item_data_attribute: self.add_widget(Label(text="{0}:".format(attribute), halign='right')) self.add_widget( Label(text=str(items_data[self.item_name][attribute]))) def item_changed(self, list_adapter, *args): if len(list_adapter.selection) == 0: self.item_name = None else: selected_object = list_adapter.selection[0] if type(selected_object) is str: self.item_name = selected_object else: self.item_name = selected_object.text self.redraw()error:
Error:###############################################################################
KivyInstaller v3.8
Author: KeyWeeUsr @ https://github.com/KeyWeeUsr
Report issues @ https://github.com/KeyWeeUsr/KivyInstaller/issues
###############################################################################
[KivyInstaller] Looking for config file...
[KivyInstaller] Config file found, setting variables...
PATH:
C:\Users\Admin\Desktop\kivy\;C:\Users\Admin\Desktop\kivy\Tools;C:\Users\Admin\De
sktop\kivy\Scripts;C:\Users\Admin\Desktop\kivy\share\sdl2\bin;C:\Users\Admin\Des
ktop\kivy\Lib\idlelib;C:\python3\Scripts\;C:\python3\;C:\Program Files (x86)\Pyt
hon36-32\Scripts\;C:\Program Files (x86)\Python36-32\;C:\python 3\lib\;C:\Progra
m Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common
Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Intel\S
hared Files\fortran\bin\ia32;C:\Windows\system32;C:\Windows;C:\Windows\System32\
Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\NVIDIA C
orporation\PhysX\Common;C:\Program Files (x86)\Windows Live\Shared;C:\Program Fi
les (x86)\Skype\Phone\;C:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn
\;C:\Program Files\dotnet\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\
###############################################################################
- KivyInstaller: 3.8
- Python: 3.5.2
- Kivy: 1.10.1.dev0
- Wheel: 20180103
- Update Kivy: kivy update or kivy updatemaster
- Examples: share\kivy-examples
- Launch: kivy main.py or python main.py
- Pack: kivy pack "<abs path to .py>"
- Uninstall: kivy uninstall
###############################################################################
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Users\Admin\Desktop\kivy>python C:\Users\Admin\Desktop\list.py
[INFO ] [Logger ] Record log in C:\Users\Admin\.kivy\logs\kivy_18-02-12_4
5.txt
[INFO ] [Kivy ] v1.10.1.dev0, git-5f62b6b, 20180103
[INFO ] [Python ] v3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MS
C v.1900 64 bit (AMD64)]
[INFO ] [Factory ] 194 symbols loaded
[INFO ] [Image ] Providers: img_tex, img_dds, img_sdl2, img_pil, img_gif
(img_ffpyplayer ignored)
[INFO ] [Text ] Provider: sdl2
[INFO ] [OSC ] using <thread> for socket
[INFO ] [Window ] Provider: sdl2
[INFO ] [GL ] Using the "OpenGL" graphics system
[INFO ] [GL ] GLEW initialization succeeded
[INFO ] [GL ] Backend used <glew>
[INFO ] [GL ] OpenGL version <b'4.0.0 - Build 10.18.10.4276'>
[INFO ] [GL ] OpenGL vendor <b'Intel'>
[INFO ] [GL ] OpenGL renderer <b'Intel(R) HD Graphics 4000'>
[INFO ] [GL ] OpenGL parsed version: 4, 0
[INFO ] [GL ] Shading version <b'4.00 - Build 10.18.10.4276'>
[INFO ] [GL ] Texture max size <16384>
[INFO ] [GL ] Texture max units <16>
[INFO ] [Window ] auto add sdl2 input provider
[INFO ] [Window ] virtual keyboard not allowed, single mode, not docked
[WARNING] [Call to deprecated function __init__ in C]\Users\Admin\Desktop\kivy\l
ib\site-packages\kivy\adapters\dictadapter.py line 59.Called from C:\Users\Admin
\Desktop\list.py line 24 by __init__().
[WARNING] [Call to deprecated function __init__ in C]\Users\Admin\Desktop\kivy\l
ib\site-packages\kivy\adapters\listadapter.py line 185.Called from C:\Users\Admi
n\Desktop\kivy\lib\site-packages\kivy\adapters\dictadapter.py line 67 by __init_
_().
[WARNING] [Call to deprecated function __init__ in C]\Users\Admin\Desktop\kivy\l
ib\site-packages\kivy\adapters\adapter.py line 111.Called from C:\Users\Admin\De
sktop\kivy\lib\site-packages\kivy\adapters\listadapter.py line 186 by __init__()
.
Traceback (most recent call last):
File "C:\Users\Admin\Desktop\list.py", line 42, in <module>
master_detail = MasterDetailView(sorted(items_data.keys()), width=800)
File "C:\Users\Admin\Desktop\list.py", line 24, in __init__
cls=ListItemButton)
File "C:\Users\Admin\Desktop\kivy\lib\site-packages\kivy\utils.py", line 344,
in new_func
return func(*args, **kwargs)
File "C:\Users\Admin\Desktop\kivy\lib\site-packages\kivy\adapters\dictadapter
.py", line 67, in __init__
super(DictAdapter, self).__init__(**kwargs)
File "C:\Users\Admin\Desktop\kivy\lib\site-packages\kivy\utils.py", line 344,
in new_func
return func(*args, **kwargs)
File "C:\Users\Admin\Desktop\kivy\lib\site-packages\kivy\adapters\listadapter
.py", line 186, in __init__
super(ListAdapter, self).__init__(**kwargs)
File "C:\Users\Admin\Desktop\kivy\lib\site-packages\kivy\utils.py", line 344,
in new_func
return func(*args, **kwargs)
File "C:\Users\Admin\Desktop\kivy\lib\site-packages\kivy\adapters\adapter.py"
, line 135, in __init__
super(Adapter, self).__init__(**kwargs)
File "kivy\_event.pyx", line 243, in kivy._event.EventDispatcher.__init__
TypeError: object.__init__() takes no parameters
C:\Users\Admin\Desktop\kivy>
and if i delete " items," from line 10 in list.py i get this error:Error:C:\Users\Admin\Desktop\kivy>python C:\Users\Admin\Desktop\list.py
[INFO ] [Logger ] Record log in C:\Users\Admin\.kivy\logs\kivy_18-02-12_4
1.txt
[INFO ] [Kivy ] v1.10.1.dev0, git-5f62b6b, 20180103
[INFO ] [Python ] v3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MS
C v.1900 64 bit (AMD64)]
[INFO ] [Factory ] 194 symbols loaded
[INFO ] [Image ] Providers: img_tex, img_dds, img_sdl2, img_pil, img_gif
(img_ffpyplayer ignored)
[INFO ] [Text ] Provider: sdl2
Traceback (most recent call last):
File "C:\Users\Admin\Desktop\list.py", line 42, in <module>
master_detail = MasterDetailView(sorted(items_data.keys()), width=800)
TypeError: __init__() takes 1 positional argument but 2 were given
C:\Users\Admin\Desktop\kivy>
Thank you,