Python Forum
kivy binding issue
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
kivy binding issue
#3
Attempted to make changes as recommended. Additional feedback where i went wrong is appreciated. new error-Line 73 seems to say i am not adding a widget but in the debug console it indicates myTabbedPanel.lbl1 is a button widget-?
Also check my feeble attempt to make the changes previously recommended.
Thanks

Error:
Exception has occurred: TypeError (note: full exception trace is shown but execution is paused at: build) add_widget() missing 1 required positional argument: 'widget' File "/home/mark/Python Environments/FirstEnvProject/ClassTest5.py", line 73, in enterScreen myTabbedPanel.stkEnter.add_widget(myTabbedPanel.lbl1) File "/home/mark/Python Environments/FirstEnvProject/ClassTest5.py", line 60, in __init__ myTPHM.content=myTabbedPanel.enterScreen() File "/home/mark/Python Environments/FirstEnvProject/ClassTest5.py", line 122, in build (Current frame) return myTabbedPanel() File "/home/mark/Python Environments/FirstEnvProject/ClassTest5.py", line 126, in <module> CreateApp().run()
import kivy
from kivy.uix.tabbedpanel import TabbedPanel
from kivy.app import App
from kivy.uix.tabbedpanel import TabbedPanelHeader
from kivy.uix.button import Button
from kivy.uix.stacklayout import StackLayout
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
import sqlite3  



con=sqlite3.connect('bovine.db');
c=con.cursor();
#c.execute(""" CREATE TABLE cattleData
#           (tagNo integer,
#            Loc text,
#            sex text,
#            type text)
#           """)
#c.execute(""" CREATE TABLE locations
#           (Hermas text,
#            Tobaco Barn text,
#            Chambers text,
#            New Barn)
#           """)

locList=["Hermas","Tobbaco Barn","New Barn","Chambers"]
opList=["Location","Add","Edit"]

class myTabbedPanel(TabbedPanel):
    stkEnter=StackLayout
    lbl1=Label
    lbl2=Label
    lbl3=Label
    lbl4=Label
    txtTag=TextInput
    txtLoc=TextInput
    txtSex=TextInput
    txtType=TextInput
    btnAccept=Button
    
    def __init__(self):
        super(myTabbedPanel, self).__init__()
        self.do_default_tab=False
        for i in opList:
            myTPHM=TabbedPanelHeader()
            myTPHM.text=str(i)
            self.add_widget(myTPHM)
            if str(i)=='Location':
                myTPLoc=TabbedPanel()
                myTPLoc.do_default_tab=False
                myTPHM.content=myTPLoc
                for j in locList:
                     myTPHL=TabbedPanelHeader()
                     myTPHL.text=str(j)
                     myTPLoc.add_widget(myTPHL)
                     
            if str(i)=='Add':
                myTPHM.content=myTabbedPanel.enterScreen()
                
    def enterScreen():    
        myTabbedPanel.stkEnter(orientation='lr-tb',spacing=4)
        myTabbedPanel.lbl1(text='Tag No',size_hint=(.1,.04))
        myTabbedPanel.lbl2(text='Location',size_hint=(.1,.04))
        myTabbedPanel.lbl3(text='Sex',size_hint=(.1,.04))
        myTabbedPanel.lbl4(text='type',size_hint=(.1,.04))
        myTabbedPanel.txtTag(text='',size_hint=(.1,.06))
        myTabbedPanel.txtLoc(text='',size_hint=(.1,.06))
        myTabbedPanel.txtSex(text='',size_hint=(.1,.06))
        myTabbedPanel.txtType(text='',size_hint=(.1,.06))
        myTabbedPanel.btnAccept(text='add',size_hint=(.1,.04))
        myTabbedPanel.stkEnter.add_widget(myTabbedPanel.lbl1)
        myTabbedPanel.stkEnter.add_widget(myTabbedPanel.txtTag)
        myTabbedPanel.stkEnter.add_widget(myTabbedPanel.lbl2)
        myTabbedPanel.stkEnter.add_widget(myTabbedPanel.txtLoc)
        myTabbedPanel.stkEnter.add_widget(myTabbedPanel.lbl3)
        myTabbedPanel.stkEnter.add_widget(myTabbedPanel.txtSex)
        myTabbedPanel.stkEnter.add_widget(myTabbedPanel.lbl4)
        myTabbedPanel.stkEnter.add_widget(myTabbedPanel.txtType)
        myTabbedPanel.stkEnter.add_widget(myTabbedPanel.btnAccept)

        myTabbedPanel.btnAcceptBind(myTabbedPanel.btnAccept)

        return myTabbedPanel.stkEnter

    def btnAcceptBind(btnAccept):
        btnAccept.bind(on_press=pressed)
        myTabbedPanel.enterScreen.txtTag.text=''
        myTabbedPanel.enterScreen.txtLoc.text=''
        myTabbedPanel.enterScreen.txtSex.text=''
        myTabbedPanel.enterScreen.txtType.text=''

def pressed(txtTag,txtLoc,txtSex,txtType):
    c.execute("INSERT INTO cattleData VALUES(?,?,?,?)",(txtTag.text,txtLoc.text,txtSex.text,txtType.text))
    con.commit()

class modBtn(Button):
    def __init__(self,tagNo,sex):
        super(modBtn, self).__init__()
        self.tagNo=tagNo
        self.sex=sex

        self.text=str(tagNo)
        self.size_hint=(.06,.06)
        self.color=(1,0,0,1)
        self.background_color=(0,1,.2,1)

        self.bind(on_press=btnPress)    
    
def btnPress(instance):
    print (instance.text,instance.color,instance.sex)

#class createHdr():
#    def bld(self,Text):
#        hdr=TabbedPanelHeader()
#        hdr.text= Text
#        return hdr

class CreateApp(App):
    def build(self):
        return myTabbedPanel()
    

if __name__ == '__main__':
    CreateApp().run()
Reply


Messages In This Thread
kivy binding issue - by hammer - Nov-05-2021, 03:07 PM
RE: kivy binding issue - by Yoriz - Nov-05-2021, 04:00 PM
RE: kivy binding issue - by hammer - Nov-06-2021, 02:15 AM
RE: kivy binding issue - by Yoriz - Nov-06-2021, 10:51 AM
RE: kivy binding issue - by hammer - Nov-06-2021, 01:26 PM
RE: kivy binding issue - by Yoriz - Nov-06-2021, 03:34 PM
RE: kivy binding issue - by hammer - Nov-07-2021, 10:31 PM
RE: kivy binding issue - by Yoriz - Nov-07-2021, 11:14 PM
RE: kivy binding issue - by hammer - Nov-07-2021, 11:34 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Key Binding scope angus1964 1 1,329 Jun-30-2022, 08:17 PM
Last Post: deanhystad
  [Tkinter] binding versus disable DPaul 6 7,211 May-05-2021, 05:17 PM
Last Post: DPaul
  [Tkinter] Binding Entry box to <Button-3> created in for loop iconit 5 5,277 Apr-22-2020, 05:47 AM
Last Post: iconit
  TkInter Binding Buttons ifigazsi 5 5,086 Apr-06-2020, 08:30 AM
Last Post: ifigazsi
  Making text clickable with binding DT2000 10 5,497 Apr-02-2020, 10:11 PM
Last Post: DT2000
  [Tkinter] Setting Binding to Entry created with a loop? p_hobbs 1 2,170 Nov-25-2019, 10:29 AM
Last Post: Larz60+
  Binding functions in Qt Designerr Mocap 12 6,315 Aug-22-2019, 03:38 PM
Last Post: Denni
  Binding functions to Menus in tkinter?? Mocap 1 2,548 Jul-23-2019, 01:37 AM
Last Post: Larz60+
  [Kivy] Kivy property (in .kv) loses binding to a variable (in .py) j.crater 3 5,257 Aug-14-2018, 12:37 PM
Last Post: buran

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020