Kivy 更新动态标签文本

2024-03-24

我的目标是观察数字Popup。我有一个NumericProperty正在加载。然而,当回调被调用时,数字不会改变。 (我在回调中没有任何代码链接到 label.text)

类似的问题也被问过。但是,我一直无法看到它们如何应用于这个具体案例。类似案例 https://stackoverflow.com/questions/29712341/kivy-bind-label-text-to-variable-python-only

import kivy
kivy.require("1.7.0")

from kivy.app import App
from kivy.uix.popup import Popup
from kivy.uix.label import Label
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
from kivy.properties import ObjectProperty
from kivy.properties import NumericProperty
from kivy.clock import Clock
from kivy.event import EventDispatcher

scoreInc = 0

class MyPopup(Popup):

    def show_popup(self):

        content = BoxLayout(orientation="vertical")

        self.incrementerFnc = Clock.schedule_interval(self.incrementer, .005)

        scoreLabel = Label(text=str(ins.a), id='scorelabel', font_size=20)

        content.add_widget(scoreLabel)

        mybutton = Button(text="Close", size_hint=(1,.20), font_size=20)
        content.add_widget(mybutton)

        mypopup = Popup(content = content,              
                title = "Score",     
                auto_dismiss = False,         
                size_hint = (.7, .5),         
                font_size = 20)
        mybutton.bind(on_press=mypopup.dismiss)  
        mypopup.open()

    def incrementer(self, dt):
        global scoreInc
        scoreInc += 1

        ins.a = scoreInc

        if(scoreInc >= 10):
            Clock.unschedule(self.incrementerFnc)
            print('quit')
        else:
            print('scoreInc', ins.a)    

class MyClass(EventDispatcher):
    a = NumericProperty(0)

def callback(instance, value):
    print('My callback is call from', instance)
    print('and the a value changed to', value)

ins = MyClass()
ins.bind(a=callback)


class MyApp(App):     

    def build(self):

        mypopup = MyPopup()

        return mypopup.show_popup()

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

您缺少更新文本值的事件scoreLabel你需要在你的MyClass, 见下文:

class MyClass(EventDispatcher):
    a = NumericProperty(0)
    def on_a(self, instance, value):
        app = App.get_running_app()
        app.scoreLabel.text = str(value)

当财产a更新,on_a被触发并且then你可以用它来更新scoreLabel值,否则它甚至没有连接。线路text = str(ins.a)采取value来自ins.a并使用它,即0为你。

但是,您需要访问该scoreLabel不知何故,这可能通过例如有用App.get_running_app() https://kivy.org/docs/api-kivy.app.html#kivy.app.App.get_running_app您可以在其中存储实例以供以后使用:

    app = App.get_running_app()
    app.scoreLabel = Label(text=str(ins.a), id='scorelabel', font_size=20)

    content.add_widget(app.scoreLabel)

这样即使在on_a event later。或者使用self并访问Popup直接与App.get_running_app().popup然后是它的内容。

App.get_running_app() https://kivy.org/docs/api-kivy.app.html#kivy.app.App.get_running_app但是有时可能不是一个更好的选择,因此您甚至可以使用全局变量或其他某种方式来存储实例,例如在其他班级内。如果你有一个Popup,该小部件将自身添加到根Window例如,它存储在:

Window -> children -> Popup -> content -> layout -> scoreLabel

但要小心,因为直接弄乱 Window 可能会产生不幸的结果。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Kivy 更新动态标签文本 的相关文章

  • Kivy:加载长函数动画(避免冻结)

    我有这样的问题 我的应用程序在长函数期间冻结 如果用户在加载过程中多次单击 则会进行多次调用 视觉上让它看起来很大 from kivymd app import MDApp from kivy lang import Builder fro
  • Typescript 将“接口”键作为字符串的并集传播

    是否可以将函数参数类型检查为其中之一interface s keys export interface IUser id string email string password string const updateUserPropert
  • 通过调用 shell 脚本设置 ant 属性?

    有没有办法通过捕获 shellscript 的输出来设置 ant 属性 或另一个蚂蚁任务 像这样的事情
  • 您应该通过属性访问同一类中的变量吗?

    如果您有一个获取和设置实例变量的属性 那么通常您总是使用该类外部的属性来访问它 我的问题是你也应该在课堂上这样做吗 如果有的话 我总是使用该属性 即使是在班级内 但我想听到一些支持和反对的论据 以确定哪个是最正确的以及为什么 或者这只是项目
  • 在“id”类型的对象上找不到属性“”

    我越来越Property aVariable not found on object of type id当尝试读取或写入变量到数组时 难道不应该知道我添加的对象是什么类吗 还注意到它可以读取值NSLog anArray objectAtI
  • 换肤时访问 hostComponent 的自定义属性 - Flex 4.5、SDK 4.5

    使用 SDK 4 1 我能够从自定义皮肤访问自定义按钮组件的自定义属性 我当前正在工作的项目需要 SDK 4 5 但我无法访问这些属性 这是一个例子 自定义按钮组件
  • 在 C# 中同步闪烁标签

    我创建了一个BlinkingLabel类 源自Forms Label 其中有一个Forms Timer这允许我启用和禁用闪烁效果 我创建了 4 个标签BlinkingLabel类型 我的问题是 如果所有 4 个标签在不同时间闪烁 则闪烁效果
  • 更改 的默认按钮标签

    我在用
  • 自定义文件属性

    我需要遵循 在我的申请中 我有文件 需要随时签入和签出的文件 当我从应用程序中签出文档时 我需要将自定义属性添加到文件中 以便稍后在签入文档时可以识别它 我尝试使用以下代码使用 DSOFile 中的 OleDocumentPropertie
  • 在 Kivy 应用程序中获取文本输入值

    Python Kivy 新手尝试构建一个测试应用程序 其中包含输入框 确定按钮和单击确定按钮时应更改文本的标签 但我得到了 NameError 全局名称 txt1 未定义 我究竟做错了什么 import Kivy import kivy i
  • spring boot:如何动态设置 spring 属性

    Spring Boot应用程序的application properties中可以定义很多属性 但我想传递属性以将 ssl 配置为从代码内部启动 server ssl enabled true The format used for the
  • AttributeError:“MainRouter”对象没有属性“_disabled_count”

    我正在创建一个 kivy 应用程序 其中我使用了显示此错误的路由器 AttributeError MainRouter 对象没有属性 disabled count 有什么解决办法吗 我也得到了这个 但使用 super 修复了它 使用以下命令
  • 最佳实践:从属性中抛出异常

    什么时候适合从属性 getter 或 setter 中抛出异常 什么时候不合适呢 为什么 关于这个主题的外部文档的链接会很有帮助 谷歌搜索结果出奇的少 Microsoft 在以下位置提供了有关如何设计属性的建议 http msdn micr
  • 为格子中的每个面板添加不同的独特标签

    很清楚如何在格子中标记面板 https stackoverflow com questions 8508269 how to label panels in lattice using panel text or ltext论据 但是 如果
  • Python3+Kivy+Plyer 推送通知图标问题

    我在使用 Android 的简单通知测试应用程序时遇到了一个奇怪的错误 错误 python AttributeError type object notification org notificator R drawable has no
  • F# nameof 运算符不是一等函数

    我正在使用 F 4 7
  • 如何在 kivy FileChooser Python 中访问所有硬盘

    如何使用 kivy 1 11 1 中的列表视图或图标视图在 kivy FileChooser 中显示系统 C X J 中安装的所有硬盘驱动器 我遇到了同样的问题 最终通过为驱动器添加 快捷方式 按钮解决了这个问题 我首先使用以下命令获取所有
  • 使用 jQuery 更改 CSS 类属性

    有没有办法使用 jQuery 更改 CSS 类的属性 而不是元素属性 这是一个实际的例子 我有一个 div 类red red background red 我想转班级red背景属性 而不是具有类的元素red分配的背景 如果我用 jQuery
  • 如何获取对象的所有属性?

    如何在 JavaScript 中使用反射获取对象的所有属性 循环遍历对象并获取属于该对象且不属于该对象的每个键 一个函数 var properties for var key in obj if obj hasOwnProperty key
  • Kivy - 单击按钮时编辑标签

    我希望 Button1 在单击时编辑标签 etykietka 但我不知道如何操作 你有什么想法吗 class Zastepstwa App def build self lista WebOps getList layout BoxLayo

随机推荐

  • 使用 robocopy 复制文件(长名称和路径,以及许多空格) - 缺少参数

    我尝试使用 robocopy 复制文件 但 PowerShell 给出错误 MissingArgument robocopy D Enciclopedia mia Tutorial FATTI DA ME Internet Google L
  • 是否可以让您上传的 iPhone 应用程序自动更新? [复制]

    这个问题在这里已经有答案了 我即将将我的 iPhone 应用程序上传到苹果商店 但我打算在不久的将来发布更多版本 一旦我将新版本上传到苹果商店 是否有办法使我的应用程序自动更新 也就是说 我即将上传版本 1 0 一旦我上传版本 1 x 用户
  • 并发字典 AddOrUpdate 与索引添加

    在当前项目中 我可以通过两种方式为并发字典中的现有键分配值 A concurrentDictionary1 key value and B concurrentDictionary2 AddOrUpdate key value k v gt
  • 如何在 Pygame 中获取显示器的分辨率?

    我只是想知道我是否可以在 Pygame 中获取显示器的分辨率 然后使用这些尺寸创建一个窗口 以便启动程序检测显示器分辨率 然后自动将窗口适合全屏屏幕 我目前正在使用pygame display set mode AN INTEGER AN
  • weblogic.jndi.WLInitialContextFactory 类在哪里?

    当尝试执行我的 jar 文件时 出现异常 javax naming NoInitialContextException Cannot instantiate class weblogic jndi WLInitialContextFacto
  • 有条件地将操作添加到 Java 8 流

    我想知道是否可以根据流外部设置的某种条件向流添加操作 例如 我想向流添加限制操作 如果我的limit变量不等于 1 我的代码目前看起来像这样 但我还没有看到以这种方式使用流的其他示例 其中 Stream 对象被重新分配给应用于自身的中间操作
  • Haskell 中关系数据的安全建模

    我发现在函数式程序中对关系数据建模是很常见的 例如 在开发网站时 我可能希望使用以下数据结构来存储有关我的用户的信息 data User User name String birthDate Date 接下来 我想存储有关用户在我的网站上发
  • Django 自定义表单 ImportError 即使文件位于同一目录中

    我正在努力通过有效的 Django http effectivedjango com 教程系列 我目前在尝试创建要在应用程序中使用的自定义表单时遇到问题 我按照中的说明创建了 forms py 文件本教程的这一部分 http effecti
  • 中心参数在新的谷歌地图嵌入中不起作用

    我已将新的嵌入代码用于新的谷歌地图 如下所示 https developers google com maps documentation embed guide https developers google com maps docum
  • C++:在这种情况下引用的优点是什么?

    我有两段代码 int f1 int b return b int f2 int b return b 这些功能有什么区别 我知道第二个返回一个引用 但由于我可以以相同的方式使用这两个函数 有什么区别 编辑 这个功能更好吗 int f2 in
  • RMySQL dbWriteTable 与 field.types

    我有一个数据框 称为df 看起来像这样 dte val 2012 01 01 23 2323 2012 01 02 34 343 列上的类型是日期和数字 我想使用已经打开的连接将其写入 MySQL 数据库 连接工作正常 因为我可以很好地查询
  • 解决PeriodFormat 中Joda Time 错误的方法?

    这是我的代码 揭示了 Joda Time 错误 import org joda time Period import org joda time format PeriodFormat import org joda time format
  • 如何创建学习清单项目

    我有一个水平的RecyclerView看起来像这样 显然 1 2 3 4 5 我想做这个 1 2 3 4 5
  • Hadoop 中分布式缓存的生命周期

    Hadoop流作业中使用分布式缓存机制将文件传输到节点时 作业完成后系统是否会删除这些文件 如果它们被删除 我认为是这样 有没有办法使缓存保留用于多个作业 这在 Amazon Elastic Mapreduce 上的工作方式是否相同 我正在
  • 时序问题 - DGV 在流程修改数据之前刷新

    我在表单上有一个按钮 用于启动一个进程 在 x 不同 秒后 更改数据库表 Y 中的一些数据 调用 InitializeGridView 然后刷新显示前面提到的表 Y 的 DGV 问题是InitializeGridView 在进程之前完成 因
  • 使用 Typescript 扩展 Express Request 对象

    我正在尝试添加一个属性来使用打字稿从中间件表达请求对象 但是我不知道如何向对象添加额外的属性 如果可能的话 我宁愿不使用括号表示法 我正在寻找一个解决方案 允许我编写类似的内容 如果可能的话 app use req res next gt
  • 使用 Sun 专有的 Java 类是一种不好的做法吗?

    如果您使用 Sun 专有的 Java 类 编译器会显示警告 我认为使用这些类通常是一个坏主意 我在某处读到过这个 然而 除了警告之外 还有什么根本原因不应该使用它们吗 因为它们是内部 API 它们可能会发生变化无证的 or 不支持的方式并且
  • 尝试使用 RSA 密钥通过 SSH 访问 EC2,获取:不正确的 RSA1 标识符...权限被拒绝(公钥)

    我在 Amazon EC2 上创建了一个 Ubuntu 12 04 实例 我已经下载了 PEM 文件并且能够通过 SSH 连接到实例 没有问题 现在 我想在远程实例上为顾问等创建一些帐户 他们应该能够使用 RSA 密钥通过 ssh 进入盒子
  • RecyclerView 中删除项目后重叠视图

    删除 RecyclerView 中的项目会导致视图重叠 如下视频所示Link https youtu be bQs9DOAL614 片段 feed xml
  • Kivy 更新动态标签文本

    我的目标是观察数字Popup 我有一个NumericProperty正在加载 然而 当回调被调用时 数字不会改变 我在回调中没有任何代码链接到 label text 类似的问题也被问过 但是 我一直无法看到它们如何应用于这个具体案例 类似案