gpt4 book ai didi

来自《Kivy Blueprints》一书的 Python kivy 代码

转载 作者:行者123 更新时间:2023-12-01 09:09:43 26 4
gpt4 key购买 nike

我正在尝试遵循 Mark Vasilkov 的《Kivy Blueprints》一书。在第 21 页,他介绍了一个更新标签文本的函数。

项目文件夹中有两个文件(参见下面的代码)。在 ClockApp 类内部定义了函数 update_time(self, nap)。我正在使用 Intellij Idea Community 和 python 插件,集成开发环境 (IDE) 告诉我 nap 是一个未使用的参数。如果我删除 nap 作为参数,我会收到错误 update_time() gets 1positional argument but 2 were returned。我怎样才能摆脱这个虚拟参数?

# Source: Chapter 1 of Kivy Blueprints
# File: main.py
from time import strftime

from kivy.app import App
from kivy.clock import Clock
from kivy.core.window import Window
from kivy.utils import get_color_from_hex


Window.clearcolor = get_color_from_hex("#101216")
# from kivy.core.text import LabelBase


class ClockApp(App):

def update_time(self, nap):

self.root.ids.time.text = strftime("[b]%H[/b]:%M:%S")

def on_start(self):
Clock.schedule_interval(self.update_time, 1)


if __name__ == "__main__":
ClockApp().run()

还有一个额外的clock.kv文件

# File: clock.kv
BoxLayout:
orientation: "vertical"
Label:
id: time
text: "[b]00[/b]:00:00"
font_name: "Roboto"
font_size: 60
markup: True

最佳答案

绑定(bind)总是传递附加信息,例如在本例中,它向我们发送调用函数的确切时间段。如果您不想使用它,您可以使用 lambda 方法:

class ClockApp(App):
def update_time(self):
self.root.ids.time.text = strftime("[b]%H[/b]:%M:%S")

def on_start(self):
Clock.schedule_interval(lambda *args: self.update_time(), 1)

如果您只想消除警告:“未使用的参数”,您可以使用_:

class ClockApp(App):
def update_time(self, _):
self.root.ids.time.text = strftime("[b]%H[/b]:%M:%S")

def on_start(self):
Clock.schedule_interval(self.update_time, 1)

关于来自《Kivy Blueprints》一书的 Python kivy 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51761130/

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