我刚开始为Qt应用程序维护一组嵌入式Python插件。我也是PyQt和Python的新手,请耐心等待。PyQt QTreeWidget'扩展'信号没有被捕获
我有一个QTreeWidget在一个对话框中的“扩展”信号没有被相应的处理程序捕获的实现。我有另一个对话框,它工作得很好。
在问题对话框中,我可以验证连接是否成功。
connected = wdg.connect(wdg.treeView_,SIGNAL("expanded(QTreeViewItem*)"), wdg.expanded)
求值为真。当我点击儿童指示器来展开一个项目时,[+]符号变成一个减号,但没有其他事情发生。同样,当我点击[ - ]时,它会切换回[+]。我已经将ChildIndicatorPolicy设置为在两种情况下将指示符初始设置为SHOW。
在工作正常的对话框中,当用户点击加号时,将执行'expanded'处理程序。点击时只有指标可以切换。
我的处理程序代码很简单:
def expanded(self, item):
logging.debug("In expanded handler")
我在日志调用一个断点,但从未达到的声明。
我失败的对话框,我的影片之上的一个前即刻连接的另一个信号,它工作得很好:
wdg.connect(wdg.treeView_,SIGNAL("currentItemChanged(QTreeWidgetItem*, QTreeWidgetItem*)"), wdg.itemChanged)
有没有什么东西可以阻止发射或者被抓扩展信号?另一个事件也许?我应该寻找什么?我意识到我的命名可能有点偏离,我也欢迎在这方面的任何更正。
我喜欢新的语法。谢谢。 – iwonder