gpt4 book ai didi

python - 与 python 和 Kivy 斗争

转载 作者:行者123 更新时间:2023-12-01 04:10:18 25 4
gpt4 key购买 nike

我正在学习 python 和 Kivy,并且我真的很难理解如何从 Kivy GUI 调用函数和继续函数。

这是我的.py:

import csv
import os
import easygui
import kivy
kivy.require('1.0.7')

from kivy.app import App
from kivy.animation import Animation
from kivy.uix.button import Button
from kivy.uix.label import Label
from kivy.uix.gridlayout import GridLayout
from kivy.uix.textinput import TextInput

def csvImport(filename):
with open(filename, 'rb') as f:
reader = csv.reader(f)
your_list = list(reader)
return your_list

class LoadFile(App):
def FileLoadScreen(self):
self.add_widget(Button(size_hint_y=(None), height=('48dp'), text='Select File',
on_press=self.ImportFile))

def ImportFile(self, instance):
filepath = easygui.fileopenbox()
if filepath!='.':
a=csvImport(filepath)
instance.text='File Loaded'
instance.disabled=True

class loginBAKApp(App):
def logAuth(username,password):
if username!='' and password!='':
print('ok')
kv_directory = 'GUI'

if __name__ == '__main__':
loginBAKApp().run()

这是我的登录BAK.kv:

#:kivy 1.9.0
GridLayout:
row_force_default: True
row_default_height: 40
rows: 3
cols: 2
padding: 10
spacing: 10
Label:
id: userLabel
text: 'Username:'
TextInput:
id: username
Label:
id: passwordLabel
text: 'Password:'
TextInput:
id: password
password: True
Button:
id:btn_login
text: 'Login'
on_press: print('OK')

此代码似乎可以正常工作(当我单击登录按钮时,它确实打印“确定”。我尝试将其替换为

on_press: logAuth(username,password)

我收到一条错误,指出 logAuth 未定义。

最终,我在这里尝试建模(作为我的第一次学习经验)是点击登录按钮,只要字段不为空,就会显示登录成功消息 5 秒钟,然后删除字段并调用 LoadFile 应用程序(添加一个可以单击以选择并导入文件的按钮)。

我到底做错了什么?我已经在网上筛选了大约 60 个脚本,并且花了几个小时查看 Kivy 示例,但我不明白我是如何做错的。有人可以指出我正确的方向和/或提出创建/删除 gui 来执行我所描述的操作的建议吗?我是 Kivy 的新手(并且可以编写基本的 python 脚本),所以当我阅读 stackoverflow 上的其他一些问题时,这一切都有点令人困惑。

最佳答案

on_press: logAuth(username,password)

logAuth 是应用程序类的方法,而不是 kv 命名空间中定义的函数。您可以改用 app.logAuth(...)app 是引用当前 App 实例的关键字。

关于python - 与 python 和 Kivy 斗争,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35043942/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com