我试图做到这一点,以便当用户单击一个按钮时,它变为“ X”或“
0”(取决于他们的团队)。如何使按钮上的文本更新?到目前为止,我最好的主意是删除按钮,然后再次打印它们,但这只能删除一个按钮。这是我到目前为止的内容:
from tkinter import *
BoardValue = ["-","-","-","-","-","-","-","-","-"]
window = Tk()
window.title("Noughts And Crosses")
window.geometry("10x200")
v = StringVar()
Label(window, textvariable=v,pady=10).pack()
v.set("Noughts And Crosses")
def DrawBoard():
for i, b in enumerate(BoardValue):
global btn
if i%3 == 0:
row_frame = Frame(window)
row_frame.pack(side="top")
btn = Button(row_frame, text=b, relief=GROOVE, width=2, command = lambda: PlayMove())
btn.pack(side="left")
def PlayMove():
BoardValue[0] = "X"
btn.destroy()
DrawBoard()
DrawBoard()
window.mainloop()
就像您的标签一样,按钮小部件也有一个textvariable=
选项。您可以StringVar.set()
用来更新按钮。最小示例:
import tkinter as tk
root = tk.Tk()
def update_btn_text():
btn_text.set("b")
btn_text = tk.StringVar()
btn = tk.Button(root, textvariable=btn_text, command=update_btn_text)
btn_text.set("a")
btn.pack()
root.mainloop()
问题内容: 我不断收到以下错误:AttributeError:’NoneType’对象没有属性’configure’ 问题答案: 执行时,分配给该命令的结果是命令的结果, 而不是 对创建的对象的引用。 您需要在打包/网格化之前分配变量。它看起来应该像这样:
我正在用tkinter写一个简单的国际象棋游戏。其目的是通过单击开始和结束正方形(选择要移动的工件的坐标和目标的坐标)来移动工件(对象)。然而,我似乎无法更新按钮的文本,以显示片段已移动。我已经看过很多以前的答案/解决方案,但是大多数都要求每个按钮都要单独更改/选择,而我不能这样做,因为电路板(视觉表示)是一组8×8的按钮。 大多数人建议使用tkinters StringVar(),但我似乎无法让
问题内容: 编程新手,尤其是python和tKinter。如何创建将键“s”绑定到按钮或功能的方法?任何帮助都是极好的。 问题答案: 您需要进行两项更改: 加 到。(绑定到Frame似乎无效。) 当按下时,会被调用。由于Tkinter将发送对象,因此我们还必须将呼叫签名更改为 因此,当按下按钮时,将被设置为默认值,但是当按下按键时, 将被分配给对象。
问题内容: 我创建了一个框架,然后创建了一个画布。 接下来,我要在画布上添加一个按钮。 但是,当我打包按钮时,我看不到画布! 这是我尝试过的: 问题答案: Tkinter管理器会尝试将父窗口小部件的大小调整为正确的大小,以包含其子窗口小部件,并且默认情况下不会更大。画布就在其中- 但它与按钮的尺寸完全相同,因此是不可见的。 如果要在画布上放置小部件 而不 导致画布动态调整大小,则需要以下功能: 这
Button 控件是 Tkinter 中常用的窗口部件之一,同时也是实现程序与用户交互的主要控件。通过用户点击按钮的行为来执行回调函数,是 Button 控件的主要功用。首先自定义一个函数或者方法,然后将函数与按钮关联起来,最后,当用户按下这个按钮时,Tkinter 就会自动调用相关函数。 按钮控件使用起来非常简单,它同样可以包含文本、图像、位图,并通过 参数回调函数。当然按钮也并非一定要执行回调
本文向大家介绍Python | Tkinter中的文本区域和按钮,包括了Python | Tkinter中的文本区域和按钮的使用技巧和注意事项,需要的朋友参考一下 库: Tkinter Tkinter(Tk interface)是一个标准python库,用于创建简单,快速和简单的GUI应用程序。 下载Tkinter: 在本教程中,我们将创建一个标签和文本区域,并从文本区域中提取文本,然后我们将看到