Python中文
首页
教程
问答
标签
搜索
登录
注册
点击时如何获取形状的标签
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>假设我在Tkinter应用程序中创建了一个画布。在</p> <p>在画布上,我画了几个长方形。在</p> <p>本质上,我想要的是知道用户点击了哪个矩形,这是我主要关心的,但这是我已经尝试过的,我认为可能是解决方案。在</p> <p>这是我的布局:</p> <pre><code>for x in range(1,6): for y in range(1,7): tableNumber = y + 6*(x-1) w.create_rectangle((table.xSeparation + table.width) * y - table.width, (table.ySeparation + table.height) * x - table.height, (table.xSeparation + table.width)*y, (table.ySeparation + table.height) * x, fill="brown", tags="table" + str(tableNumber)) w.tag_bind("table" + str(tableNumber), '<Button-1>', do) </code></pre> <p>所以这只是在行和列的布局中创建矩形。在</p> <p>每个矩形都有一个特定的标记,格式为<code>table1</code>,<code>table2</code>到{<cd3>}。在</p> <p>当我单击矩形时,<code>do</code>函数将执行。在</p> <p>比如说do是这样的:</p> ^{pr2}$ <p>不是的,我在控制台中的每一次点击都会得到一个“点击”。在</p> <p>我希望能够获得点击矩形的标签,以便能够执行以下操作:</p> <pre><code>def do(event): print str(theTagOfTheClickedRectangle) </code></pre> <p>所以我检查了我可以称之为:</p> <ul> <li>小工具</li> <li>x、 是的</li> <li>根,根</li> <li>字符</li> <li>键音</li> <li>密钥码</li> <li>数字</li> <li>宽度、高度</li> <li>类型</li> </ul> <p>似乎没有一个钉在我点击的矩形。在</p> <p>我考虑在<code>do</code>函数中添加更多参数:</p> <pre><code>w.tag_bind("table" + str(tableNumber), '<Button-1>', do(event, tag)) </code></pre> <p>但这似乎不太管用,但也许我做得不对:</p> <pre><code>do(event, tag): #this doesn't work at all!! print event.x print tag </code></pre> <p>我希望问题是清楚的,如果我以同样的方式得到标签,就像我可以得到事件的“x”和“y”,那将是非常舒适的。在</p> <p>我现在能想到的唯一实际解决方案,是计算出'event.x'和'event.y'的数学公式,然后根据点击的坐标计算出用户点击的矩形,这对于我想要做的事情来说似乎过于复杂了,尽管我以前做过,而且显然有效。在</p> <p>我希望问题是清楚的,其他方面请要求澄清。在</p> <p>请注意,我没有与这些代码绑定,相反,我正在寻找解决这个问题的方法,即使不使用标记或其他类型的小部件或任何更简单的方法,最有效的方法也能工作。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>您可以使用类似的方法来引用单击的对象:</p> <pre><code>event.widget.find_withtag("current") </code></pre> <p>标记“current”是特殊的,代表鼠标下最上面的对象。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如果给定字符串与字典中的键值匹配,如何返回键
8 回答
如果给定字符串与字典中的键匹配,如何返回键的值
4 回答
如果给定字符串与某些格式不匹配,将引发哪个异常?
7 回答
如果给定存储库和修订号#/revision ID,我可以使用什么Bzr函数返回分支位置?
5 回答
如果给定开始和结束版本号,是否有bzrlib函数将返回所有虚线版本号?
7 回答
如果给定日期差(天)中不存在值,Python将删除ID行
9 回答
如果给定时间来源,如何将日期时间从十进制转换为“%y%m%d%H:%m:%S”?
7 回答
如果给定条件,如何计算欧氏距离?
10 回答
如果给定极限,如何在极限处停止循环。如何返回带有附加值的新列表?
8 回答
如果给定查询的lis没有找到记录,Django将返回none对象
1 回答
如果给定点和每个点之间的距离(测向纬度, 液化天然气)小于或等于0.1km
4 回答
如果给定的字符串与字典中的keys值匹配,如何返回字符串中的多个键
9 回答
如果给定的数字是列表中存在的两个不同数字的总和(仅在一次过程中),如何返回“True”?
2 回答
如果给定的数据在R或Python的范围(1到1)内,如何规范化格式(3、2、1、0、1、2、3)的数据?
10 回答
如果给定的日期是本月的最后一天,如何增加月数?
2 回答
如果给定的是像素值而不是坐标值,如何将灰度像素值更改为彩色值
6 回答
如果给定的条件为真,如何打开窗口?
3 回答
如果给定的键和值与字典列表中的匹配,则获取所有字典
9 回答
如果给定相同的名称,python类中的属性值会改变吗?
8 回答
如果给定空列表,则返回“0”
5 回答