擅长:python、mysql、java
<p>主要问题是为循环中的<code>Treeview</code>创建绑定。在</p>
<p>只有一个<em>双击事件</em>可以为树声明和触发,而不是逐行声明和触发,这里您将在每次迭代中重写它。在</p>
<hr/>
<p>众所周知,此lambda模式可以为for/循环中的小部件声明<em>命令</em>,因此它可以很好地实现以下目的:</p>
<pre><code>lambda f=nt[x]["URIallegato"]: os.startfile(str(f))
</code></pre>
<p>但是这里声明了一个默认参数<code>f</code>,lambda将使用事件绑定给定的<code>event</code>参数执行,这就是异常:<code><ButtonPress event state=Mod1...</code></p>
<p>不管怎样,我们发现在您的情况下,即使您用第二个参数修复lambda以接受<code>event</code>而不替换默认值<code>f</code>,这在您的情况下是行不通的。在</p>
<hr/>
<p>我建议使用每行的<code>values</code>字段来存储信息<code>URIallegato"</code>,而不在树中显示列。在</p>
<p>然后,您可以通过使用<code>focus()</code>来获取所选项目,并提取值来获取URI,从而将一个通用事件绑定到Treeview。在</p>
^{pr2}$
<p>如果您想检查是否有要打开的URI,这里几乎不能使用lambda。在</p>