python - 如何检查 tkinter 按钮的文本?
问题描述
所以我试图制作一个简单的 GUI,当在窗口中单击按钮时,代码会对按钮的文本运行条件检查,然后在命令行中打印“这是一个测试”。问题是每当我单击按钮时,文本都不会显示。我该如何解决?
除了我现在正在做的事情之外,我真的对尝试什么没有任何其他想法。
from tkinter import *
root = Tk()
def buttonchange(button):
if button["text"] == " ":
button["text"] = "X"
button = StringVar()
btn1 = Button(text=" ", command=lambda:buttonchange(btn1))
btn1.pack()
btn2 = Button(text=" ", command=lambda:buttonchange(btn2))
btn2.pack()
if btn2["text"] == "X":
print("This is a test.")
root.mainloop()
每当我单击按钮时,命令行中什么都没有显示?我想用if
/else
语句显示“这是一个测试”。
解决方案
将 print() 设置为buttonchange
:
from tkinter import *
root = Tk()
def buttonchange(button):
if button["text"] == " ":
button["text"] = "X"
print("This is a test.")
button = StringVar()
btn1 = Button(text=" ", command=lambda:buttonchange(btn1))
btn1.pack()
btn2 = Button(text=" ", command=lambda:buttonchange(btn2))
btn2.pack()
root.mainloop()
推荐阅读
- reactjs - 我的 React App 安装哪里出错了?
- c# - 获取剃刀页面dotnet中html下拉列表的选定值
- java - 在包“android”/新 pacakge 中找不到属性“layout_width”的资源标识符
- reactjs - 在react js中更新数据库后firebase检索数据问题
- excel - TextJoin 删除重复项但使用 If 函数过滤器
- kotlin - 如何让 kotlin-logging (MicroUtils) 打印到子类名而不是抽象类名?
- amazon-ec2 - 在 Ubuntu 18.04 上启动 google-chrome-stable 时出现分段错误
- rundeck - rundeck 问题 - 启用活动自动刷新 - 默认情况下禁用
- amazon-web-services - AWS:STS Assume Role 不适用于用户
- javascript - 使用 Knex.js 批量插入错误:绑定消息提供 X 参数,但准备好的语句“”需要 Y