python按钮点击后更改文本

2023-12-14

我想制作一个按钮,在每次单击后更改显示的文本(数字)并返回函数中定义的值,因为我想使用显示的变量。

我创建了一个函数,每次点击后都会为“文本”添加+1,直到 4 和一个按钮。该代码不返回函数的值,按钮只有文本 = 1、2、3 或 4。

import tkinter as tk

root = tk.Tk()

text = 0
def text_change():
    global text
    text += 1

    print(text)
    if text >= 4:
        text = 0

#to change: button text has to be the variable defined in the function
btn = tk.Button(text = "1,2,3 or 4", width = 10, height = 3, command = \
                text_change).grid(row = 1 , column = 1)

root.mainloop()

我希望你可以帮助我 :)


First

btn = tk.Button(...).grid(..)

assigns None to btn因为grid()回报None

use

btn = tk.Button(...)
btn.grid(...)

现在您可以使用更改按钮上的文本btn['text'] = "new text" or btn.config(text="new text")

import tkinter as tk

# --- functions ---

def text_change():
    global text

    text += 1

    if text > 4:
        text = 1

    print("changed to:", text)

    #btn['text'] = text
    btn.config(text=text)

def text_print():
    print("current:", text)

# --- main ---

text = 0

root = tk.Tk()

btn = tk.Button(text="1,2,3 or 4", command=text_change, width=10, height=3)
btn.grid(row=1, column=1)

btn2 = tk.Button(text="SHOW", command=text_print, width=10, height=3)
btn2.grid(row=2, column=1)

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

python按钮点击后更改文本 的相关文章

随机推荐

  • 在 XML 或 java 文件中编写相同的代码(用于布局)是否存在性能差异?

    我知道 XML 和 java 文件中可以执行的操作和不能执行的操作之间存在差异 但到目前为止 我了解到 java 文件可以执行 XML 文件可以执行的所有操作 至少在我正在阅读的书中是这样写的 请参阅下面的引用 因此 我的问题是 用 jav
  • 安全地存储 api 凭证

    我如何安全地存储 API 凭据 如身份验证密钥 谷歌地图 API 密钥 目前我已将该凭据存储在 strings xml KeygenratorSpec 要求最低 API 级别为 23 有什么方法可以安全地存储任何帮助都会更有帮助我陷入困境2
  • BigQuery 使用 PHP 流式传输“insertAll”性能

    我们使用以下方法将大量数据从服务器端流式传输到 BigQuery 中 google api php 客户端图书馆 除了性能之外 流媒体工作正常 我们的负载测试显示 将一行流式传输到 BigQuery 的平均时间为 1000 毫秒 1 秒 我
  • 无法向某些控件发送 WM_INPUTLANGCHANGEREQUEST

    我正在研究 又一个 键盘布局切换器并在 Skype 窗口 win7 x64 上的版本 6 22 中遇到了奇怪的问题 任意组合GetForegroundWindow GetFocus GetParentWindow 无法成功更改布局仅在消息输
  • 将 Double 值格式化为小数点后两位的最佳方法[重复]

    这个问题在这里已经有答案了 我在应用程序中处理大量双精度值 有没有简单的方法来处理 Java 中十进制值的格式 还有比这更好的方法吗 DecimalFormat df new DecimalFormat 我想做的基本上是格式化双值 例如 2
  • 为什么 numpy.mean 不是多线程的?

    自从我注意到 numpy 它只使用一个核心以来 我一直在寻找轻松地对一些简单分析代码进行多线程处理的方法 尽管事实上它应该是多线程的 我知道 numpy 是为多个核心配置的 因为我可以看到使用 numpy dot 的测试使用了我的所有核心
  • CoreData、多对多关系和 NSPredicate

    我有一个包含多对多关系的 CoreData 数据模型 事实证明 NSPredicate 不支持多对多关系 来自 CoreData pdf 谓词的键路径中只能有一个对多元素 作为食谱示例 许多食谱和许多成分 一份食谱可以有多种成分 其中 盐
  • 为什么 pytesseract 无法识别这个简单图像中的数字?

    我正在尝试使用 pytesseract 识别图像中的两个数字 我努力了 psm 6 up to 10 我努力了 c tessedit char whitelist 0123456789 以上均不返回49数字 我得到的最近的已返回4没有9 您
  • *通过共享* JavaScript 对象来测试深度相等

    在 JavaScript 中测试两个对象的深度相等这一主题已经有很多墨水了 然而 似乎没有人关心区分以下两个对象 var o1 var subitem var o2 subitem subitem var o3 大多数深度相等算法会说o1
  • 解析嵌入的CSS beautifulsoup

    是否可以从 html 标签中提取嵌入的 css 属性 例如 假设我想找出 s5 的垂直对齐属性是什么 我目前正在使用 beautifulsoup 并已检索了跨度标签tag soup find class s5 我试过了tag attrs c
  • 仅在第一次调用方法时调用该方法的块

    我有一个方法 在这个方法中我有一个块 public void method block instructions 但这个方法在我的程序中被调用了两次 我希望该块仅执行一次 并且仅在该方法第一次出现时执行 最好 最优雅的方式是什么 priva
  • NHibernate 和版本控制(时间戳)

    我得到了这个异常 在 System Convert ToDateTime 对象值 在 p nhibernate core src NHibernate Type DateTimeType cs 中的 NHibernate Type Date
  • 使用 mybatis 或 ibatis 的一对多关系

    我有一个有两个表的数据库 post id post name post desc files file id file name post attachments post id file id 在我的 xml 映射中我已经有了
  • 为什么此插件代码中的 CRM 2011 实体关系为空?

    这是我为 CRM 2011 编写的插件的工作示例 我已在插件注册工具中为此插件创建了 创建 步骤 这执行得很好 我还为该插件注册了一个 更新 步骤 由于返回的主要联系人为空 因此执行失败 这些步骤都注册为异步 using System us
  • 即使将鼠标悬停后也保持下拉菜单处于活动状态(可见)

    当我移动鼠标指针滚动到子菜单后 我的子菜单立即消失 感觉好像我把 CSS 搞砸了 经过几次尝试使其保持活跃后我无法弄清楚 我遵循了一些教程 看看它 他们称之为hover on the ul代替a 主播 我尝试了类似的方法 但无法达到我想要的
  • 从表列中的 SQL Server 日期值获取月份名称

    我想创建一个统计查询 显示每月的记录数 问题是我希望以字母形式显示月份 例如一月 二月 三月等 而不是像 1 2 或 3 那样 我没有使用字母表显示月份名称month getdate 我不知道如何进行转换 这是我的 SQL Server 查
  • TIMESTAMP 未按照蜂巢中镶木地板的预期表现

    I have parquet读取时的数据 TIMESTAMP列 使用 Spark 效果非常好 以下是样本记录 scala gt data select BATCH LOAD DATE limit 5 show BATCH LOAD DATE
  • JavaScript 的本地存储字符串存储在哪里?

    哪里localstorage字符串存储在操作系统上 它在 Firefox 的 Profile 文件夹中吗 是的 在 Firefox 中 它位于配置文件文件夹中的 webappsstore sqlite 文件中 See https devel
  • 将 one-hot 编码目标值映射到正确的标签名称

    我有一个标签名称列表 我枚举并创建了一个字典 my list b airplane b automobile b bird b cat b deer b dog b frog b horse b ship b truck label dic
  • python按钮点击后更改文本

    我想制作一个按钮 在每次单击后更改显示的文本 数字 并返回函数中定义的值 因为我想使用显示的变量 我创建了一个函数 每次点击后都会为 文本 添加 1 直到 4 和一个按钮 该代码不返回函数的值 按钮只有文本 1 2 3 或 4 import