当前位置: 首页 > 知识库问答 >
问题:

在tkinter-'NoneType'对象中更改按钮文本是不可下标的[重复]

鲁淇
2023-03-14

我试图让按钮1在按下时将其上的文字从“hi”更改为“bye”,第二次按下时再次更改。

这是我的密码:

from tkinter import *

def toggletext():
  if Button1["text"] == "hi":
    Button1["text"] = "bye"
    Game.update()
  else:
    Button1["text"] = "hi"
    Game.update()

Game = Tk()
Game.wm_title("title")
Button1 = Button(text="hi",fg="white",bg="purple",width=2,height=1,command=toggletext).grid(row=0,column=0)
Button2 = Button(fg="white",bg="purple",width=2,height=1).grid(row=1,column=0)
Button3 = Button(fg="white",bg="purple",width=2,height=1).grid(row=0,column=1)
Button4 = Button(fg="white",bg="purple",width=2,height=1).grid(row=1,column=1)

Game.mainloop()

我按下按钮1时出现此错误:

Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Python34\lib\tkinter\__init__.py", line 1533, in __call__
    return self.func(*args)
  File "C:\Users\User1\Desktop\gridtest2.py", line 4, in toggletext
    if Button1["text"] == "hi":
TypeError: 'NoneType' object is not subscriptable

共有1个答案

伊铭
2023-03-14

NoneTypeNone值的类型<代码>按钮1设置为None

那是因为。grid()方法返回None,这就是您存储的内容:

Button1 = Button(...).grid(row=0,column=0)

首先创建按钮,然后调用。网格()分别为:

Button1 = Button(
    text="hi", fg="white", bg="purple", width=2, height=1, 
    command=toggletext)
Button1.grid(row=0, column=0)
 类似资料:
  • 问题内容: 我正在制作一个用于数学的小程序(没有特殊原因,只是出于某种原因),并且遇到错误“ TypeError:’NoneType’对象无法下标。 我从未见过此错误,所以我不知道这意味着什么。 错误: 问题答案: 这应该是 该方法就位,并返回None。如果您希望某些东西不就地返回值,则可以使用 除了#1:请勿致电您的清单。那掩盖了内置列表类型。 除了#2:我不确定这行是做什么的: 简单吗 ?换句

  • 问题内容: 我试图做到这一点,以便当用户单击一个按钮时,它变为“ X”或“ 0”(取决于他们的团队)。如何使按钮上的文本更新?到目前为止,我最好的主意是删除按钮,然后再次打印它们,但这只能删除一个按钮。这是我到目前为止的内容: 问题答案: 就像您的标签一样,按钮小部件也有一个选项。您可以用来更新按钮。最小示例:

  • 我试图动态创建按钮以匹配数据表。我使用这个答案作为参考点,但是我一直得到这个错误代码:我尝试了多种方法来减轻错误代码,但我不知道如何修复它我试图将地图设置为数组,但也不起作用。代码已成功计数,并显示数据,但我无法让它添加所需的按钮。

  • 问题内容: 当我尝试使用复选按钮时,它可以正常工作,但文本不会出现。我不明白为什么。下面是我的代码 出现复选框,但旁边的文本没有 问题答案: 尝试使用主题的tk(ttk)检查按钮小部件:

  • 这里有一个小问题,就像我在对话框中有回收人员视图fragment.ie在回收人员视图中的银行名称当我们在回收人员视图中选择一家银行并在对话框片段后解雇该名称应该出现在按钮上,即当我们从对话框片段中选择联合银行时,它应该出现在按钮上。问题是当我们单击按钮时,它的文本会发生变化,而不是在解散监听器的时间 这是Dialog解雇代码: 以下是onclick事件,其中打开对话框并打印值: 在以下方面相同:

  • 本文向大家介绍Python | Tkinter中的文本区域和按钮,包括了Python | Tkinter中的文本区域和按钮的使用技巧和注意事项,需要的朋友参考一下 库: Tkinter Tkinter(Tk interface)是一个标准python库,用于创建简单,快速和简单的GUI应用程序。 下载Tkinter: 在本教程中,我们将创建一个标签和文本区域,并从文本区域中提取文本,然后我们将看到