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.pyitem_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.pyfrom 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,
