2011-07-02 6 views

答えて

7

次のコードリストQtGui内のすべてのQObjectのサブクラスのためのすべての信号:

from PyQt4 import QtGui, QtCore 
import inspect 
for name in dir(QtGui): 
    obj = getattr(QtGui, name) 
    if inspect.isclass(obj) and issubclass(obj, QtCore.QObject): 
     for name2 in dir(obj): 
      obj2 = getattr(obj, name2) 
      if isinstance(obj2, QtCore.pyqtSignal): 
       print name, name2 
+0

ありがとう!私はあなたがそれをコピーしたときに最後の行を切り捨ててしまったと思います - 3.2の場合:** if isinstance(obj2、QtCore.pyqtSignal):s = name + ":" + name2 print "** – Vector

+0

ありがとう、私は逃しましたそれ。 – Luke

+0

はうまく動作します.HTMLをフォーマットしました。今では自分のインデックスを持っています。ちょうど今、私はPyQTのdocsが各ウィジェットのシグナルをリストしているのを見ましたが、メソッドの後に、これは簡単です。 – Vector

4

私はQt documentationは、利用可能なすべての信号を持っていると思うだろう。

+0

これまでのところ、私はそこまで探している包括的なリストインデックスが見つかりません - ので、私の質問を。しかし、今はQSignalSpyクラスとQSignalMapperクラスを見つけました。うまくいけば、PyQTでそれらを動作させることができます。 – Vector

+0

すべてのシグナルを1ページに表示したい場合は、クローラを作成する必要があります。 – bjoernz