Kivy - 通过 id 删除小部件

2023-12-03

我有以下代码:

from kivy.app import App
from kivy.uix.floatlayout import FloatLayout


class GUI(FloatLayout):
    def remove(self):
        self.remove_widget(self.ids.test)


class GUIApp(App):
    def build(self):
        return GUI()


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

以及相应的kv file:

#:kivy 1.9.1

<GUI>:
    BoxLayout:
        Button:
            id: test
            text: 'Test'
            on_press: root.remove()

单击该按钮后应将其删除。然而,这并没有发生。如果我删除BoxLayout在 kv 文件中,程序按预期工作,并且按钮被删除。为什么会发生这种情况,如何删除 kv 文件中声明的小部件? (我知道我可以替换按钮的on_press with self.parent.remove_widget(self),但我有代码root.remove()除了删除小部件之外。)


你正在呼唤remove_widget of GUI当你的按钮的父级实际上是对象时BoxLayout在里面。remove_widget只删除直接子级,而不删除任何后代。

from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.lang import Builder

Builder.load_string('''
<GUI>:
    BoxLayout:
        id: layout
        Button:
            id: test
            text: 'Test'
            on_press: root.remove()
''')


class GUI(FloatLayout):
    def remove(self):
        self.ids.layout.remove_widget(self.ids.test)


class GUIApp(App):
    def build(self):
        return GUI()


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

Kivy - 通过 id 删除小部件 的相关文章

  • 类的 IPython 表示

    我正在使用我创建的模块尝试 IPython 但它没有显示类对象的实际表示 相反 它显示类似的内容 TheClass module TheClass name I heavily在这个模块中使用元类 我有真正有意义的类表示 应该向用户显示 是
  • Python - 比较同一字典中的值

    我有一本字典 d Trump MAGA FollowTheMoney Clinton dems Clinton Stein FollowTheMoney Atlanta 我想删除字符串列表中的重复字符串 该字符串是键的值 对于这个例子 期望
  • 在 Python 中将列表元素作为单独的项目返回

    Stackoverflow 的朋友们大家好 我有一个计算列表的函数 我想单独返回列表的每个元素 如下所示 接收此返回的函数旨在处理未定义数量的参数 def foo my list 1 2 3 4 return 1 2 3 4 列表中的元素数
  • matplotlib 图中点的标签

    所以这是一个关于已发布的解决方案的问题 我试图在我拥有的 matplotlib 散点图中的点上放置一些数据标签 我试图在这里模仿解决方案 是否有与 MATLAB 的 datacursormode 等效的 matplotlib https s
  • NLTK 2.0分类器批量分类器方法

    当我运行此代码时 它会抛出一个错误 我认为这是由于 NLTK 3 0 中不存在batch classify 方法 我很好奇如何解决旧版本中的某些内容在新版本中消失的此类问题 def accuracy classifier gold resu
  • 嵌套列表的重叠会产生不必要的间隙

    我有一个包含三个列表的嵌套 这些列表由 for 循环填充 并且填充由 if 条件控制 第一次迭代后 它可能类似于以下示例 a 1 2 0 0 0 0 0 0 4 5 0 0 0 0 0 0 6 7 根据条件 它们不重叠 在第二次迭代之后 新
  • Python 3d 绘图设置固定色阶

    我正在尝试绘制两个 3d 数组 第一个数组的 z 值在范围内 0 15 0 15 第二个来自 0 001 0 001 当我绘图时 色标自动遵循数据范围 如何设置自定义比例 我不想看到 0 001 的浅色 而应该看到 0 15 的浅色 如何修
  • Tensorboard SyntaxError:语法无效

    当我尝试制作张量板时 出现语法错误 尽管开源代码我还是无法理解 我尝试搜索张量板的代码 但不清楚 即使我不擅长Python 我这样写路径C Users jh902 Documents logs因为我正在使用 Windows 10 但我不确定
  • 打印包含字符串和其他 2 个变量的变量

    var a 8 var b 3 var c hello my name is var a and var b bye print var c 当我运行程序时 var c 会像这样打印出来 hello my name is 8 and 3 b
  • 从 Powershell 脚本安装 Python

    当以管理员身份从 PowerShell 命令行运行以下命令时 可以在 Windows 11 上成功安装 Python c temp python 3 11 4 amd64 exe quiet InstallAllUsers 0 Instal
  • Java 和 Python 可以在同一个应用程序中共存吗?

    我需要一个 Java 实例直接从 Python 实例数据存储中获取数据 我不知道这是否可能 数据存储是否透明 唯一 或者每个实例 如果它们确实可以共存 都有其单独的数据存储 总结一下 Java 应用程序如何从 Python 应用程序的数据存
  • python的shutil.move()在linux上是原子的吗?

    我想知道python的shutil move在linux上是否是原子的 如果源文件和目标文件位于两个不同的分区上 行为是否不同 或者与它们存在于同一分区上时的行为相同吗 我更关心的是如果源文件和目标文件位于同一分区上 shutil move
  • Python GTK+ 画布

    我目前正在通过 PyGobject 学习 GTK 需要画布之类的东西 我已经搜索了文档 发现两个小部件似乎可以完成这项工作 GtkDrawingArea 和 GtkLayout 我需要一些基本函数 如 fillrect 或 drawline
  • 带有 LSTM 的 GridSearchCV/RandomizedSearchCV

    我一直在尝试通过 RandomizedSearchCV 调整 LSTM 的超参数 我的代码如下 X train X train reshape X train shape 0 1 X train shape 1 X test X test
  • 如何使用 AWS Lambda Python 读取 AWS S3 存储的 Word 文档(.doc 和 .docx)文件内容?

    我的场景是 我尝试使用 python 实现从 Aws Lambda 读取 AWS 存储的 S3 word 文档 doc 和 docx 文件内容 下面的代码是我使用的 我的问题是我可以获取文件名 但无法读取内容 def lambda hand
  • 如何更改 SwiftUI 列表中分隔符的颜色?

    我在 SwiftUI 中创建了一个列表 我想更改颜色或删除分隔符 因为在 UIKit 中 我们可以轻松更改 TableView 中分隔符的颜色 下面是 SwiftUI 中列表的代码和 UI 图片 State private var user
  • python 中的“槽包装器”是什么?

    object dict 和其他地方的隐藏方法设置为这样的
  • 如何在 Flask 中的视图函数/会话之间传递复杂对象

    我正在编写一个 Web 应用程序 当 且仅当 用户登录时 该应用程序从第三方服务器接收大量数据 这些数据被解析为自定义对象并存储在list 现在 用户在应用程序中使用这些数据 调用不同的视图 例如发送不同的请求 我不确定什么是最好的模式在视
  • JSON:TypeError:Decimal('34.3')不是JSON可序列化的[重复]

    这个问题在这里已经有答案了 我正在运行一个 SQL 查询 它返回一个小数列表 当我尝试将其转换为 JSON 时 出现类型错误 查询 res db execute SELECT CAST SUM r SalesVolume 1000 0 AS
  • NLTK:查找单词大小为 2k 的上下文

    我有一个语料库 我有一个词 对于语料库中该单词的每次出现 我想获取一个包含该单词之前的 k 个单词和该单词之后的 k 个单词的列表 我在算法上做得很好 见下文 但我想知道 NLTK 是否提供了一些我错过的功能来满足我的需求 def size

随机推荐

  • 正则表达式将给定单词替换为两侧的空格或根本不替换

    我正在使用 PHP 中的一些代码 从搜索引擎获取引用数据 为我提供用户输入的查询 然后 我想从该字符串中删除某些停用词 如果存在 但是 该单词两端可能有也可能没有空格 例如 我一直使用 str replace 删除一个单词 如下所示 key
  • 绘制图像分类模型的混淆矩阵

    我用 keras 构建了一个图像分类 CNN 虽然模型本身运行良好 它可以正确预测新数据 但我在绘制模型的混淆矩阵和分类报告时遇到问题 我使用 ImageDataGenerator 训练了模型 train path DATASET TRAI
  • 我如何获取全局javascript变量中的ajax内容

    我想将内容放入javascript全局定义的变量中 我使用ajax调用获得的内容 http pastebin com TqiJx3PA 感谢您的任何建议 Pastebin 代码已经做到了这一点 我猜你实际面临的问题是存在的 因为你的 aja
  • 字符串格式为 yyyy-MM-dd HH:mm:ss Iphone

    我有一个 nsstring 见下文 NSString Mydate 9 8 2011 以月 日 年的格式 我希望这个字符串的格式yyyy MM dd HH mm ss 例如 2011 09 08 15 51 57 这样我需要以后面的格式在标
  • TensorFlow中重复训练和预测时如何避免OOM错误?

    我在 TensorFlow 中有一些代码 它采用一个基本模型 用一些数据对其进行微调 训练 然后使用该模型来predict 使用一些其他数据 所有这些都封装在一个main 模块的方法并且工作正常 然而 当我在不同的基本模型上循环运行此代码时
  • Bash 间接引用,其中一个 var 引用多个

    我试图取消引用单个变量中包含的两个或多个变量 但我不知道如何在没有 eval 的情况下执行此操作 b 5 c 10 a b c result eval echo a echo result 5 10 我希望执行相同的操作来给我 结果 这样我
  • 如何拦截window.location变化

    我需要一种方法将一些预处理附加到 window location 的每个分配 有没有办法做到这一点 我基本上需要序列化一些信息 这些信息将在新位置使用 您可以使用beforeunload事件触发您的代码在导航之前运行 如果您需要更具体的内容
  • ImportError: 在 windows7 32 位中运行 pip --version 命令时无法导入名称 main

    我已经安装了最新的 python 2 7 9 与 Windows 32 位的 pip 和 setuptools 捆绑在一起 我尝试重新安装 pip 但问题仍然存在 这是运行后的错误pip version在管理员cmd中 Traceback
  • 更改 UITextField 的默认触摸事件

    好吧 这就是我想做的 我有一个 UITextField 当我单击它时 我想调用我的方法之一 当我双击 用 1 根手指点击两次 它时 我想编辑文本字段 就像我在普通的 UITextField 上单击它一样 我不知道该怎么做 我正在考虑对 UI
  • C# - (int)Math.Round((double)(3514 + 3515)/2) =3514?

    大家好 int ai1 new int 2 3514 3515 void average1 List
  • Hibernate JPA 不支持@TableGenerator 的“initialValue”元素吗?

    TableGenerator name Emp Gen table ID GEN pkColumnName GEN NAME pkColumnValue Employee GEN valueColumnName GEN VAL initia
  • 从 Laravel 9 中的存储外观获取 S3Client

    我正在尝试将 S3 Multipart Uploader 从 Laravel 8 升级到 Laravel 9 并已按照文档中的概述升级到 Flysystem 3 并且没有依赖项错误https laravel com docs 9 x upg
  • 如何将AIRPLANE_MODE_ON设置为“True”或ON?

    我打算挂断电话 我发现这是解决该问题的方法之一 如何通过代码激活飞行模式 这样我就会根据某些事件挂断电话 请参阅博客文章Android 控制飞行模式 仅适用于API 16 Toggle airplane mode Settings Syst
  • java Android - 以编程方式处理图像缩放/裁剪

    好吧 所有这些事情折磨了我好几个星期 我将图像设置为 227 像素高 然后将其缩放到 170 像素 即使我每次都希望它是wrapp content 好的 在这里 我拍摄了 1950 像素长的 我的图像 我将其中的一部分放在这里 以便您可以了
  • Symfony CollectionType 更新实体

    我不敢相信其他人没有遇到这种情况 但我无法找到解决方案 假设我有两个实体类型 A 和 B 具有一对多关系 A 有 B 的集合 A 的形式有一个CollectionType对于B 有一个定制的entry type for B allow ad
  • 在高性能环境中的分叉工作进程之间共享状态

    这是我的后续行动上一个问题 正如 Tim Peters 所建议的 使用Manager可能不一定是最好的方法 不幸的是我有太多的脚手架代码来发布SSCCE 相反 我将尝试提供我的问题的详细解释 请随意浏览整个代码库Github 但现在有点混乱
  • 如何使用vba for excel获取另一个工作簿中定义名称的值

    我有几本包含计算的工作簿 我正在将所有这些工作表中的数据结合起来进行 自动概述 为了查找数据 我使用命名范围 这些工作正常 然而 有一个定义的名称不涉及范围 这是一个公式 我想要的是访问该公式的结果 以open计算书 来自我的概述书 明显地
  • RxJava:“java.lang.IllegalStateException:仅允许一名订阅者!”

    我正在使用 RxJava 来计算 Android 中某些传感器数据的归一化自相关性 奇怪的是 我的代码抛出一个异常 java lang IllegalStateException 只允许一个订阅者 我不确定该怎么做 我知道 GroupedO
  • 将图像从 URL 保存到服务器

    我建立了一个迷你内容管理系统CKEditor 用户可以粘贴图像URL来自另一个网站 有没有办法在用户提交内容时获取所有图像 URL 将所有这些图像保存到服务器 并用我的服务器的 URL 替换其他服务器的 URL 例如 用户写了这样的内容 i
  • Kivy - 通过 id 删除小部件

    我有以下代码 from kivy app import App from kivy uix floatlayout import FloatLayout class GUI FloatLayout def remove self self