pyqt5中的connect函数不起作用

时间:2018-03-16 07:56:17

标签: python-3.x pyqt pyside

我最近从pyside移到了pyqt5,但是有一个问题。我在网上查了一下,显然,已经发生在使用pyqt4并转移到pyqt5的人身上。但是,它并没有真正帮助...我试图在pyqtSignal之后添加Qobject但它仍然无效。请帮忙。 这些是我的代码行:

QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL("accepted()"),Dialog.accept)
QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL("rejected()"), Dialog.reject)

这是我运行时出现的内容:

AttributeError: type object 'QObject' has no attribute 'connect'

1 个答案:

答案 0 :(得分:0)

from the docs

connect(slot[, type=PyQt5.QtCore.Qt.AutoConnection[, no_receiver_check=False]])
  

将信号连接到插槽。如果连接失败,将引发异常。   参数:

     
      
  • slot - 要连接的插槽,可以是Python可调用信号,也可以是其他绑定信号。
  •   
  • type - 要建立的连接类型。
  •   
  • no_receiver_check - 禁止检查底层C ++接收器实例是否仍然存在并提供信号。
  •   

为您的例子:

self.buttonBox.accepted.connect(Dialog.accept) # pyqt5
  

QtCore.QObject.connect(self.buttonBox.rejected,Dialog.reject)#pyqt4

作为旁注," Dialog"听起来像一个类,你可能想要连接到一个实例,否则考虑用小写的前置字母命名你的实例......