I am using Python-2.7 and Kivy. When I run test.py then a show button shows. When I click on the show button then a label and value shows. I am fetching it from
You are creating a new Invoice
instance instead of using the existing one.
Invoice().abc()
try instead:
class EditPopup(Popup):
mode = StringProperty("")
label_rec_id = StringProperty("Id")
col_data = ListProperty(["?", "?", "?"])
index = NumericProperty(0)
def __init__(self, obj, **kwargs):
super(EditPopup, self).__init__(**kwargs)
self.obj = obj # will need it later...
def update(self,obj):
#cur.execute("UPDATE `item` SET itemName=?, itemCode=? WHERE itemId=?",
#('Item1', 9999, 11))
#con.commit()
self.obj.abc() # was Invoice().abc()
You are instanting a second instance of class Invoice by invoking Invoice().abc() at method update in class EditPopup.
Comment off Invoice().abc() at method update in class EditPopup and add pass.
def update(self, obj):
#cur.execute("UPDATE `item` SET itemName=?, itemCode=? WHERE itemId=?",
#('Item1', 9999, 11))
#con.commit()
# Invoice().abc()
pass
Add a call to method abc in class EditPopup after call to method update.
Button:
size_hint_x: .5
text: "Ok"
on_release:
root.update(root)
app.root.abc()
root.dismiss()