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
<pre><code>w.tag_bind("table" + str(tableNumber), '<Button-1>', do(event, tag)) </code></pre> <p>应改为</p> ^{pr2}$ <p>lambda创建一个函数,将标记名作为第二个参数的默认值。Tkinter只使用一个参数event调用该函数,第二个参数使用默认值。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
为什么我的神经网络模型的准确性不能在这个训练集上得到提高?
1 回答
为什么我的神经网络模型的权重变化不大?
3 回答
为什么我的神经网络的成本不断增加?
9 回答
为什么我的神经网络的输入pickle文件是19GB?
8 回答
为什么我的神经网络给属性错误?“非类型”对象没有属性“形状”
6 回答
为什么我的神经网络训练这么慢?
1 回答
为什么我的神经网络输出错误?
9 回答
为什么我的神经网络预测适用于MNIST手绘图像时是正确的,而适用于我自己的手绘图像时是不正确的?
1 回答
为什么我的神经网络验证精度比我的训练精度高,而且它们都是常数?
10 回答
为什么我的私人用户间聊天会显示在其他用户的聊天档案中?
6 回答
为什么我的积分的绝对误差估计值大于积分(使用scipy.integrate.nqad)?
6 回答
为什么我的积层回归器得分比它的组件差?
6 回答
为什么我的移动方法不起作用?
9 回答
为什么我的稀疏张量不能转换成张量
6 回答
为什么我的稀疏张量不能转换成张量?
3 回答
为什么我的程序“停止”了?
6 回答
为什么我的程序一直试图占用所有可用的CPU
6 回答
为什么我的程序不使用指定的代理
4 回答
为什么我的程序不工作(python帮助中的反向函数)?
9 回答
为什么我的程序不工作时,我使用多处理模块
6 回答