我正在尝试实现一个名为“五连胜”的游戏。我创建了一个15×15的列表来放置按钮。(我使用range(16),因为我还需要一行和一列来显示行号和列号)
我希望我的实现会像点击一个按钮时,它会变成一个标签。但是我不知道用户点击了哪个按钮。
我如何才能实现这一点?谢谢
from tkinter import *
root=Tk()
root.wm_title("Five In a Row")
buttonlst=[ list(range(16)) for i in range(16)]
chess=Label(root,width=2,height=2,text='0')
def p(button):
gi=button.grid_info()
x=gi['row']
y=gi['column']
button.grid_forget()
chess.grid(row=x,column=y)
buttonlst[x][y]=chess
for i in range(16):
for j in range(16):
if i==0:
obj=Label(root,width=2,text=hex(j)[-1].upper())
elif j==0:
obj=Label(root,width=2,text=hex(i)[-1].upper())
else:
obj=Button(root,relief=FLAT,width=2,command=p(obj))
obj.grid(row=i,column=j)
buttonlst[i][j]=obj
root.mainloop()
在Python TKinter?中,有一个类似的问题,即如何确定哪个按钮被按出了按钮网格?。但我不太明白。
当您使用command=p(obj)
时,实际上是在调用函数p
。如果要传递带有参数的函数,应创建lambda函数。因此,命令分配应类似于:
command = lambda: p(obj)
这将正确地将对象传递到p
函数中。
要将按钮实例传递给命令,必须分两步进行。首先,创建按钮,然后在第二步中配置命令。此外,必须使用lambda创建所谓的闭包。
例如:
obj=Button(root,relief=FLAT,width=2)
obj.configure(command=lambda button=obj: p(button))
问题内容: 我正在寻找网站。在检查元素中看到以下内容: 需要获取并按标题单击元素。像这样: 但是通过标题。 问题答案: 就像巴拉克·马诺斯(Barak Manos)所说,答案是: 以[0]结尾的情况是列表。
错误:NoSuChelementException:没有这样的元素:无法定位元素:{“method”:“xpath”,“selector”:“//td[@class='c($PrimaryColor)W(51%)']”}(会话信息:chrome=77.0.3865.120) 我的代码如下: 这是我试图从“https://finance.yahoo.com/quote/goog?p=goog”中搜索
点击一个元素后,如何使用selenium找到当前url?我有这个网站:http://www.runningintheusa.com/Classic/View.aspx?RaceID=5622 我有代码(假设所有相关的库都已导入) 我运行代码,它只返回原来的网址是http://www.runningintheusa.com/Classic/View.aspx?RaceID=5622 我怎么能找到的网
我正试图抓取一个页面,获取一盘国际象棋的移动列表,该列表位于右侧菜单的“移动”选项卡下。 在浏览器中手动单击“移动”选项卡时,我可以通过 哪个(正确地)返回 当尝试通过单击按钮时,使用 似乎什么都没有发生,我不知道如何进行故障排除。 如何通过模拟单击(活动事件侦听器)切换到“移动”选项卡? 额外提示:是否可以使用rvest软件包?
问题内容: 我正在尝试在www.meetme.com上发送消息,但不知道该怎么做。我可以在评论区域中键入消息,但是单击“发送”按钮不会执行任何操作。我究竟做错了什么?当我登录并按登录按钮时,页面确实发生了变化,一切都很好。有人有任何想法或线索吗? 问题答案: 如果不了解正在访问的网页,就无法在禁用JavaScript的情况下执行AJAX请求。如果更改未成功,则必须继续进行调试,但请确保已启用Jav
问题内容: 我正在使用Scrapy爬行网页。单击某些按钮时,仅会弹出一些我需要的信息(当然,单击后也会显示在HTML代码中)。 我发现Scrapy可以处理的形式(如登录)如图所示这里。但是问题在于没有表格可以填写,所以这不是我所需要的。 如何简单地单击一个按钮,然后显示我需要的信息? 我是否必须使用诸如机械化或lxml之类的外部库? 问题答案: Scrapy无法解释javascript。 如果你绝