PyQt5 中一些有用而不常见的方法
程序员文章站
2022-04-19 23:53:27
...
PyQt5 中一些有用而不常见的方法(陆续更新中)
在看 Qt 代码中 ,经常会看见 self.parent()
这种莫名其妙的方法出现 ,去检查 self 的父类中也见不到定义了 parent
方法 ,该方法主要定义在 QObject (相关的其他Qt 类也是可以的)类中 。
demo1
class ClientSocket(QObject)
class ServerClient(ClientSocket)
这样使得 ServerCliient的实例是可以调用 parent 方法
从下面的案例中 , 可知 parent 方法返回在构造函数中 为实例指定的 parent 参数 。
>>> from PyQt5.QtCore import QCoreApplication, QEvent, QObject, QSocketNotifier
>>> class A(QObject):
... def __init__(slef, parent=None):
... print(parent)
...
>>> A.parent
<built-in function parent>
>>> A.parent()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: parent(self): first argument of unbound method must have type 'QObject'
>>> a = QObject()
>>> a
<PyQt5.QtCore.QObject object at 0x7f90aeb053a8>
>>> aa = A(parent=a)
<PyQt5.QtCore.QObject object at 0x7f90aeb053a8>
>>> a
<PyQt5.QtCore.QObject object at 0x7f90aeb053a8>
下一篇: Android 软键盘交互