从另一个小部件更改 Kivy 小部件属性

2023-12-24

我有一个带有按钮(id:display_name)的屏幕小部件,该按钮具有文本属性。当我按下该按钮时,会显示一个模式,其中有一个文本输入小部件和一个按钮小部件。我想在模式的文本输入小部件中输入文本,并在按下模式的按钮时在屏幕小部件的按钮中显示该文本。我在更改模式中的屏幕按钮的文本属性时遇到困难。我该怎么做呢?我尝试了下面的代码,但出现此错误:

AttributeError: 'kivy.properties.ObjectProperty' object has no attribute 'text'

kv code

<ProfileScreen>:
    display_name: display_name
    GeneralBoxLayout:
        BoxLayout:
            GridLayout:
                BackButton:
                    on_release: root.manager.current = 'home'
                    size_hint: (0.1,1.0)
                Image:
                    size_hint: (0.1,1.0)
                Image:
                    source: 'img/logo4.png'
                    size_hint: (0.60,1.0)
                Image:
                    size_hint: (0.05,1.0)
                MenuButton:
                    size_hint: (0.15,1.0)
                    on_release: app.build_profile_screen(); root.manager.current = 'profile'
        BoxLayout:
            ScrollView:
                size_hint: (1,.93)
                GridLayout:
                    BoxLayout:
                        Button:
                            id: display_name
                            font_size: '14sp'
                            text_size: (290, 40)
                            halign: 'left'
                            background_normal: 'img/white_button1.png'
                            background_down: 'img/white_button1.png'
                            border: 20,20,20,20
                            markup: True
                            on_release: app.update_display_name_popup()
<UpdateDisplayNamePopup>:
    updated_display_name: updated_display_name
    size_hint: .5, .3
    BoxLayout:
        padding: [10,10,10,10]
        orientation: 'vertical'
        TextInput:
            id: updated_display_name
            hint_text: 'Enter New Display Name'
        Button:
            font_size: '14sp'
            text: 'Update Display Name'
            background_normal: 'img/green_button5.png'
            background_down: 'img/green_button5.png'
            size_hint_y: None
            on_release: root.update_display_name(); root.dismiss()

main.py代码

from kivy.properties import ObjectProperty

class ProfileScreen(Screen):
    display_name = ObjectProperty(None)


class UpdateDisplayNamePopup(ModalView):
    def update_display_name(self):
        ProfileScreen.display_name.text = self.updated_display_name.text

我通过将 update_display_name 方法移动到 ProfileScreen 类,从模式的按钮调用它,并将 Updated_display_name.text 传递给该方法来解决这个问题,如下所示:

main.py

class ProfileScreen(Screen):
    def update_display_name(self, updated_display_name):
        self.display_name.text = updated_display_name

kv file

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

从另一个小部件更改 Kivy 小部件属性 的相关文章

  • python SSLError("握手错误:SysCallError(-1,'意外的 EOF')",),))

    我正在抓取这个 aspx 网站https gra206 aca ntu edu tw Temp W2 aspx Type 2 https gra206 aca ntu edu tw Temp W2 aspx Type 2 根据需要 我必须解
  • 通过 Scrapy 抓取 Google Analytics

    我一直在尝试使用 Scrapy 从 Google Analytics 获取一些数据 尽管我是一个完全的 Python 新手 但我已经取得了一些进展 我现在可以通过 Scrapy 登录 Google Analytics 但我需要发出 AJAX
  • Django 管理员在模型编辑时间歇性返回 404

    我们使用 Django Admin 来维护导出到我们的一些站点的一些数据 有时 当单击标准更改列表视图来获取模型编辑表单而不是路由到正确的页面时 我们会得到 Django 404 页面 模板 它是偶尔发生的 我们可以通过重新加载三次来重现它
  • 使 django 服务器可以在 LAN 中访问

    我已经安装了Django服务器 可以如下访问 http localhost 8000 get sms http 127 0 0 1 8000 get sms 假设我的IP是x x x x 当我这样做时 从同一网络下的另一台电脑 my ip
  • Django:按钮链接

    我是一名 Django 新手用户 尝试创建一个按钮 单击该按钮会链接到我网站中的另一个页面 我尝试了一些不同的例子 但似乎没有一个对我有用 举个例子 为什么这不起作用
  • 使用 matplotlib 绘制时间序列数据并仅在年初显示年份

    rcParams date autoformatter month b n Y 我正在使用 matpltolib 来绘制时间序列 如果我按上述方式设置 rcParams 则生成的图会在每个刻度处标记月份名称和年份 我怎样才能将其设置为仅在每
  • Flask 会话变量

    我正在用 Flask 编写一个小型网络应用程序 当两个用户 在同一网络下 尝试使用应用程序时 我遇到会话变量问题 这是代码 import os from flask import Flask request render template
  • 从字符串中删除识别的日期

    作为输入 我有几个包含不同格式日期的字符串 例如 彼得在16 45 我的生日是1990年7月8日 On 7 月 11 日星期六我会回家 I use dateutil parser parse识别字符串中的日期 在下一步中 我想从字符串中删除
  • Spark KMeans 无法处理大数据吗?

    KMeans 有几个参数training http spark apache org docs latest api python pyspark mllib html highlight kmeans pyspark mllib clus
  • 以编程方式停止Python脚本的执行? [复制]

    这个问题在这里已经有答案了 是否可以使用命令在任意行停止执行 python 脚本 Like some code quit quit at this point some more code that s not executed sys e
  • 使用 Tkinter 显示 numpy 数组中的图像

    我对 Python 缺乏经验 第一次使用 Tkinter 制作一个 UI 显示我的数字分类程序与 mnist 数据集的结果 当图像来自 numpy 数组而不是我的 PC 上的文件路径时 我有一个关于在 Tkinter 中显示图像的问题 我为
  • OpenCV 无法从 MacBook Pro iSight 捕获

    几天后 我无法再从 opencv 应用程序内部打开我的 iSight 相机 cap cv2 VideoCapture 0 返回 并且cap isOpened 回报true 然而 cap grab 刚刚返回false 有任何想法吗 示例代码
  • ipython/ pylab/ matplotlib安装和初始化错误

    我在 OS X El Captain 上安装了 matplotlib anaconda ipython 然而 即使在尝试以所有可能的方式设置环境变量之后 我仍无法启动 ipython shell pylab 版本 这是错误 ImportEr
  • 将图像分割成多个网格

    我使用下面的代码将图像分割成网格的 20 个相等的部分 import cv2 im cv2 imread apple jpg im cv2 resize im 1000 500 imgwidth im shape 0 imgheight i
  • 向 Altair 图表添加背景实心填充

    I like Altair a lot for making graphs in Python As a tribute I wanted to regenerate the Economist graph s in Mistakes we
  • 如何在seaborn displot中使用hist_kws

    我想在同一图中用不同的颜色绘制直方图和 kde 线 我想为直方图设置绿色 为 kde 线设置蓝色 我设法弄清楚使用 line kws 来更改 kde 线条颜色 但 hist kws 不适用于显示 我尝试过使用 histplot 但我无法为
  • 有人用过 Dabo 做过中型项目吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我们正处于一个新的 ERP 风格的客户端 服务器应用程序的开始阶段 该应用程序是作为 Python 富客户端开发的 我们目前正在评估 Dabo
  • 绘制与Fig.show()内联的IPython Notebook图形?

    我正在使用 IPython Notebook 调用内联模式 pylab inline 以下代码立即在单元格处绘制一个图形 fig plt figure axes fig add axes 0 0 1 1 不过 我想在一个单元格中创建绘图 轴
  • Rocket UniData/UniVerse:ODBC 无法分配足够的内存

    每当我尝试使用pyodbc连接到 Rocket UniData UniVerse 数据时我不断遇到错误 pyodbc Error 00000 00000 Rocket U2 U2ODBC 0302810 Unable to allocate
  • 如何将输入读取为数字?

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 Why are x and y下面的代码中使用字符串而不是整数 注意 在Python 2

随机推荐

  • 为什么我应该在关闭套接字之前使用 shutdown() ? [复制]

    这个问题在这里已经有答案了 在此 MSDN 页面上 在客户端发送和接收数据 https msdn microsoft com en us library windows desktop bb530747 aspx 它建议使用以下方法关闭套接
  • 在 Hibernate 中设置属性的默认值不起作用

    我的实体中有一个布尔属性 这是我对它的注释 Column name IS ACTIVE nullable false columnDefinition BIT DEFAULT 1 length 1 public Boolean getAct
  • 提取与正则表达式匹配的子字符串

    我正在尝试提取22 chocolates来自以下字符串 SOMETEXT for 2 FFXX Another 22 chocolates 45 chamkila 使用正则表达式 d s chocolates chocolate 我用了 g
  • URL 重写如何以简单的英语进行工作

    我已经阅读了很多有关 URL 重写的内容 但我仍然不明白 据我了解 像这样的网址 http www example com Blog Posts php Year 2006 Month 12 Day 19 可以替换为更友好的 例如 http
  • 将 war 文件部署到托管 weblogic 服务器中给定的路径位置

    我用的是蚂蚁wldeploy部署 war 文件的任务 它工作正常 但部署服务器中的 war 文件路径设置为类似 servers myadminservername upload mywarfilename app 相反 我想在 Ant 构建
  • 重置表单/从 jQuery 验证中删除错误类

    我有一个带有 jQ uery 验证方法的联系表单 当用户单击 重置 按钮时 孔接触形式应进入初始状态 这个按钮看起来像
  • 如何在Python3中同时进行并行输入和输出?

    我需要设计一个脚本 该脚本使用终端的顶部部分作为输出 其中在无限循环中每秒打印一些行 底部部分不断接受用户输入并在上面的部分中打印它们 在常规周期中 输出 换句话说 我需要设计一种外壳 我尝试使用这样简单的方法进行多线程 usr bin p
  • 使用Python分页抓取谷歌搜索

    你好 我有一个代码可以抓取谷歌搜索结果并返回页面的链接 标题和描述 但是问题是它只抓取了第一页 我想添加分页和scrape多个页面 有人可以帮我弄清楚如何添加分页吗 我尝试了其他几个支持分页的示例 但它们的问题是它们仅返回 url 如果有人
  • 在 C# 中访问单个像素

    我现在正在做一个学校项目 它是一个 3D 编辑软件 就像 Maya 的最小化版本 我必须使用 Windows 应用程序项目 用 C 编写它 我打算自己实现所有 3D 内容 从投影到着色 我的问题是 如何直接访问 C Windows 应用程序
  • Git 无法识别 xcode 项目中添加的 .xcscheme 文件

    在我的 xcode 项目中添加了与测试目标相对应的新方案 创建的新 xcscheme 文件没有反映在 git 中 还做了一个git 状态给我看无需提交任何内容 工作目录干净 尝试通过终端添加它git add xcscheme says 您的
  • 在 iOS 中使用 Facebook SDK 登录时无法获取用户的电子邮件 ID

    当我使用下面的代码获取用户的电子邮件 ID 时 我得到 null 值 另外 我已经设置了像这样访问电子邮件的权限 self fbLoginButton readPermissions public profile email user fr
  • Rails Postgres 功能索引

    我应该如何将包含函数的多列索引输入到 schema rb 中 例如这不起作用 add index temporary events templateinfoid campaign date gw out time messagetype n
  • EF Code First:重复的外键(一个来自名称约定,一个来自导航属性)

    我正在尝试使用 EF Code First 创建 SQL 数据库 假设我有以下代码 public class Account public int Id public ICollection
  • 这种字典的使用是否线程安全?

    这是我的方法的两个变体 它返回一个与枚举值关联的字符串 保存在字典中 第一个变体较慢 但线程安全 第二个变体更快 但我不知道它是否是线程安全的 第一的 string GetStringForEnum SomeEnum e string st
  • 将 Spring Batch MyISAM 序列表迁移到 InnoDB

    Spring Batch 使用一些序列表 在 MySQL 中使用 MyISAM 存储引擎 我面临的问题是 我使用的是 Amazon Web Services RDS 数据库 并且它们的 时间点 数据库恢复功能不能很好地与包含 MyISAM
  • 如何在电子邮件中嵌入 PDF?

    我已经提到过这个帖子 https stackoverflow com questions 104177 how do i embed an image in a net html mail message 我一直在使用 PNG 文件的 Al
  • EC2 负载均衡器 - 安装 CA Bundle SSL/中间证书

    我正在使用 EC2 负载均衡器来处理 HTTPS 请求 对于 Chrome 和 Safari 让负载均衡器协议在端口 443 处使用 SSL 证书设置 HTTPs 可以正确处理大多数流量 来自 Safari 和 Chrome 的 HTTPS
  • C++函数调用是表达式吗?

    函数产生一个结果 可以用作另一个函数参数的参数 那么 函数调用是这样的 f 1 2 3 可以被视为 表达 吗 谢谢 C 标准 N3376 5 1 将表达式指定为 表达式是指定计算的运算符和操作数的序列 表达式可以产生一个值 并且可以引起副作
  • 单元测试描述问题

    Visual Studio 中有一个关于单元测试的描述条目 创建测试描述后是否可以修改 TestMethod Microsoft VisualStudio TestTools UnitTesting Description Test Cas
  • 从另一个小部件更改 Kivy 小部件属性

    我有一个带有按钮 id display name 的屏幕小部件 该按钮具有文本属性 当我按下该按钮时 会显示一个模式 其中有一个文本输入小部件和一个按钮小部件 我想在模式的文本输入小部件中输入文本 并在按下模式的按钮时在屏幕小部件的按钮中显