这是主应用程序:
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()
以下是kivy文件代码:
主屏幕
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]
还有按钮
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()
解决方案
使用
ids
引用MDTextField
。对Python脚本和kv文件进行以下更改main.py
需要将
self
添加到方法vinyl_add
,因为它被定义为MDApp
类的方法片段
kv文件
ids
添加到MDTextField:
以便引用它们李>片段
MDTextField:
的文本值作为参数传递给函数调用李>片段
输出:
KivyMD应用程序-添加乙烯基
SQLite数据库:
vinyl.db
相关问题 更多 >
编程相关推荐