如何解析用python编写的信号和slot语句



我正在编写一个python脚本,从PyQt应用程序中提取特定信息。我的确切目标是提取在应用程序运行时发出的信号。

基本上,我将在编写发射代码片段的特定位置插入(插入我的代码片段)应用程序。由于运行时的检测,我将获得有关所发射信号的信息。

我想用一个场景来解释:

Normal scenario
#A.py(actual code)
#start of a file
from PyQt4.QtGui import *
from PyQt4.QtCore import *
....
....
self.emit(QtCore.SIGNAL("Button_pressed"))
....
....
#end of a file
Instrumented Scenario
#A.py(actual code)
#start of a file
from PyQt4.QtGui import *
from PyQt4.QtCore import *
....
....
signal_sent="Button_pressed" 
print signal_sent
self.emit(QtCore.SIGNAL("Button_pressed"))
....
....
#end of a file

(**注意,只有当我能够解析"emit"语句以便提取字符串"Button_pressed"时,才能将"Button_pressed"值分配给"signal_sent")

问题语句:我的目标是准确解析文件中的emit语句,以便检索信号中的字符串?如何解析该语句?

您可以通过写入以下发射信号来实现相同的目的:-

self.emit(Qt.SIGNAL("buttonPressed(QString)"),"Button_pressed")

和以下连接:-

self.connect(self, Qt.SIGNAL("buttonPressed(QString)"), self.functionCall)

最新更新