python装饰器在PyQt4中的应用

我在pyqt的example中看到很多类似下面这样的语法,我查了些资料,但是不是很明白。

@QtCore.pyqtSlot(str, str)
def messageSlot(self, nickname, text):
    [...]

想在这里请教下大家 @QtCore.pyqtSlot(str, str) 这句话到干了哪些事情,起到了什么作用

阅读 5.9k
2 个回答

通过@PyQt4.QtCore.pyqtSlot(str, str)装饰方法定义带有两个参数的槽函数

拆解出来就是messageSlot = QtCore.pyqtSlot(str, str)(messageSlot)
首先,QtCore.pyqtSlot(str, str)返回一个函数,假设为A
然后,函数再运行A(messageSlot)

你就理解成 messageSlot = QtCore.pyqtSlot(str, str)(messageSlot) 这样就好了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题