【发布时间】:2019-08-05 06:44:44
【问题描述】:
我目前正在制作一个程序,该程序会记录带有与工作相关的一些不同事物的串起球拍。保存信息后,我无法重置 kivy 文本输入。该代码可能很难阅读,因为它是我在过去几天里弄乱的东西的轻微拼凑。如果您能帮助我了解如何重置文本输入和任何其他改进将不胜感激 - 克里斯 - 新手
import kivy
import gspread
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
from kivy.core.window import Window
from kivy.uix.gridlayout import GridLayout
from kivy.core.window import Window
from kivy.uix.button import Button
from kivy.uix.screenmanager import ScreenManager , Screen
from oauth2client.service_account import ServiceAccountCredentials
list = []
Client = ''
Racquet = ''
String = ''
Tension = ''
scope = ['https://www.googleapis.com/auth/drive']
creds = ServiceAccountCredentials.from_json_keyfile_name('client_secret.json', scope)
client = gspread.authorize(creds)
sheet = client.open("Stringing Log MAIN").sheet1
def clients(instance, value):
print(value)
global Client
Client = str(value[8:])
global list
return
def racquets(instance, value):
print(value)
global Racquet
Racquet = str(value[9:])
global list
return
def strings(instance, value):
print(value)
global String
String = str(value[8:])
global list
return
def tensions(instance, value):
print(value)
global Tension
Tension = str(value[9:])
global list
return
clienttxt = open("Client", "w")
racquettxt = open("Racquet", "w")
stringtxt = open("String", "w")
tensiontxt = open("Tension", "w")
def Test(x):
global sheet
list.insert(0, Client)
list.insert(1, Racquet)
list.insert(2, String)
list.insert(3, Tension)
sheet.insert_row(list, 1)
list.clear()
return
class MyGrid(GridLayout):
def __init__(self, **kwargs):
super(MyGrid, self).__init__(**kwargs)
self.cols = 1
client = TextInput(text = "Client: ", write_tab = False, multiline=False)
client.bind(text=clients)
self.add_widget(client)
racquet = TextInput(text= "Racquet: ", write_tab = False, multiline=False)
racquet.bind(text=racquets)
self.add_widget(racquet)
string = TextInput(text= "String: ", write_tab = False, multiline=False)
string.bind(text=strings)
self.add_widget(string)
tension = TextInput(text= "Tension: ", write_tab = False, multiline=False)
tension.bind(text=tensions)
self.add_widget(tension)
button1 = Button(text="Submit")
self.add_widget(button1)
button1.bind(on_press=Test)
class StringingApp(App):
def build(self):
return MyGrid()
if __name__ == "__main__":
StringingApp().run()
【问题讨论】: