Reputation: 11
this is the main app:
from kivymd.app import MDApp
import sqlite3
class Vinylapp(MDApp):
connection = None
cur = None
connection = sqlite3.connect("vinyl.db")
cur = connection.cursor()
cur.execute("""CREATE TABLE IF NOT EXISTS Vinyl(
name TEXT,
alboum TEXT,
song TEXT)
""")
connection.commit()
connection.close()
def vinyl_add(name,alboum,song):
connection = sqlite3.connect("vinyl.db")
cur = connection.cursor()
connection.execute("INSERT INTO Vinyl VALUES (?,?,?)",(name, alboum, song))
connection.commit()
connection.close()
Vinylapp().run()
and here is the kivy file code:
main screen
MDScreen:
bg: app.theme_cls.bg_light
MDToolbar:
id: toolbar
pos_hint: {"bottom": 1}
title: "Search By Name "
elevation: 10
md_bg_color: [0/255, 200/255, 0/255, 1]
right_action_items: [['magnify', lambda x: app.search_menu.app]]
MDLabel:
text:"ADD VINYL"
halign:"center"
font_style: "Button"
font_size: 20
pos_hint:{"center_x":.5,"center_y":.8}
MDTextField:
hint_text:"Composer Name"
pos_hint: {"center_x":0.5, "center_y":0.6}
size_hint_x:.3
current_hint_text_color: 0, 0, 0, 1
color_mode: 'custom'
line_color_focus: [0/255, 200/255, 0/255, 1]
MDTextField:
hint_text:"Song Name"
pos_hint: {"center_x":0.5, "center_y":0.4}
size_hint_x:.3
current_hint_text_color: 0, 0, 0, 1
color_mode: 'custom'
line_color_focus: [0/255, 200/255, 0/255, 1]
MDTextField:
hint_text:"Alboum Name"
pos_hint: {"center_x":0.5, "center_y":0.5}
size_hint_x:.3
current_hint_text_color: 0, 0, 0, 1
color_mode: 'custom'
line_color_focus: [0/255, 200/255, 0/255, 1]
and the button
MDRaisedButton:
text:"ADD"
pos_hint: {"center_x":.5, "center_y":.23}
size_hint_x: 0.3
text_color: 1, 1, 1, 1
md_bg_color: [0/255, 200/255, 0/255, 1]
on_press: app.vinyl_add()
Upvotes: 1
Views: 280
Reputation: 16031
Use ids
to reference the MDTextField
. Make the following changes to the Python script and kv file.
Need to add self
into method vinyl_add
because it is defined as a method of the MDApp
class.
def vinyl_add(self, name, alboum, song):
print(name, alboum, song)
...
ids
to the MDTextField:
so that you are reference them. MDTextField:
id: composer
hint_text:"Composer Name"
...
MDTextField:
id: song
hint_text:"Song Name"
...
MDTextField:
id: album
hint_text:"Alboum Name"
MDTextField:
as parameters to the function call. MDRaisedButton:
text:"ADD"
...
on_press: app.vinyl_add(composer.text, album.text, song.text)
vinyl.db
Upvotes: 1