擅长:python、mysql、java
<p>PySide不需要QString类是正确的,但是错误地认为存在任何不一致性。在</p>
<q> pQuthy/Pyqt通常是Qt的C++库周围的相当薄的包装器。然而,与这个信号有一些明显的偏差。Qt(示例中的第二种方法)使用的语法需要C++签名参数的详细知识,而且很容易出错。而且,从python的角度来看,语法是不必要的冗长的,而且是“非语法的”。正因为如此,PySide/PyQt添加了一些语法“sugar”,它为信号和插槽提供了另一种更具python风格的语法。这是您的示例中的第一个方法使用的。在</p>
< QString >第二种方法中使用的特殊原因是Qt信号定义为EM>静态ESE>作为C++类的一部分。因此,为了使连接成功,对信号的论证必须与C++定义完全匹配。但是请注意,SIGNAL的参数并不要求QString<em>类</em>可用,它只需要在签名中使用字符串“QString”。在</p>
<P>连接信号的“旧”、C++方式可能会持续相当长一段时间(如果没有其他的话,向后兼容)。但是,如果可能的话,最好使用“新的”Python式的方法。只是更清晰,更易读。在</p>