<p>你需要结合一些技巧来解决你的问题。在</p>
<p>首先,您需要使用<a href="http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/universal.html" rel="nofollow noreferrer">^{<cd1>}</a>。这将返回一个元组<code>(x , y)</code>,其中包含鼠标指针相对于<code>tree</code>的根窗口的坐标。在</p>
<p>然后,您需要使用这个元组的第一个元素<code>winfo_pointerxy()[0]</code>,调用从中减去{a3}的<a href="http://acm2014.cct.lsu.edu/localdoc/python-3.4.2rc1-docs-html/library/tkinter.ttk.html#tkinter.ttk.Treeview.identify_column" rel="nofollow noreferrer">^{<cd5>}</a>方法(以解决窗口移位的问题)。在</p>
<p>但是您需要小心,因为<code>winfo_pointerxy()</code>返回的元组是<code><type 'unicode'></code>类型。因此,例如,您需要<code>import re</code>才能使用<a href="https://docs.python.org/2/library/re.html" rel="nofollow noreferrer">^{<cd10>}</a>,这样您就可以将<code>#1</code>形式的数据替换为整数<code>1</code>。在</p>
<p>这意味着您的<code>filter()</code>方法现在将如下所示:</p>
<pre><code> def filter(self, tree, col, descending, i_types, i_header):
print 'Row: {} & Column: {} '.format(re.sub('I00','',str(tree.identify_row(tree.winfo_pointerxy()[1]-tree.winfo_rooty()))),re.sub(r'#','',str(tree.identify_column(tree.winfo_pointerxy()[0]-tree.winfo_rootx()))))
</code></pre>
<h2>完整程序</h2>
<p>下面是完整的程序:</p>
^{pr2}$
<h2>演示</h2>
<p>以下是运行程序的屏幕截图:</p>
<p><a href="https://i.stack.imgur.com/JAonL.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/JAonL.png" alt="enter image description here"/></a></p>