Qobject

2019-11-21  本文已影响0人  2B铅笔芯

学习说明

Qobejct 这个类基本是所有控件的基类,所以先学习该控件的操作和对应的api,则在后续学习中就可以使用


API说明

setObjectName(str) 改变objectName

setProperty("属性名", 属性内容) 设置属性,用于后续的style修改

property("属性名") 查看该属性名下的属性内容


obj = QObject()

obj.setObjectName("毅爸爸加油")

print(obj.objectName())

obj.setProperty("one_test", "test_one")

obj.setProperty("two_test", 1)

print(obj.property("one_test"))

print(obj.dynamicPropertyNames())

objectNameChanged 信号量,用于objectName的改变

destroyed 信号量,用于对象毁坏时

信号量用.connect 和 .disconnect 可以分别进行连接和取消连接

blockSignals(True) 暂时阻止信号量的连接

sinalsBlocked() 参看是否有block 阻止连接

receivers(Object.signal)——>被连接数目 传入对象信号,参看被连接的数目


self.obj.destroyed.connect(lambda x:print("对象已经摧毁", x))

del self.obj

self.obj.objectNameChanged.connect(lambda x:print("对象名称已改为:", x))

self.obj.setObjectName("小明")

disconnect取消连接

self.obj.objectNameChanged.connect(lambda x:print("对象名称已改为:", x))

self.obj.setObjectName("小明")

self.obj.objectNameChanged.disconnect()

self.obj.setObjectName("小红")

暂时阻止连接

blockSignals

self.obj.objectNameChanged.connect(lambda x:print("对象名称已改为:", x))

self.obj.setObjectName("小明")

self.obj.blockSignals(True)

# 判断有没有阻止连接

print(self.obj.signalsBlocked())

self.obj.setObjectName("小蓝")

self.obj.blockSignals(False)

self.obj.setObjectName("小红")

# 查看该信号拥有连接数 需要传递对象

print(self.obj.receivers(self.obj.objectNameChanged))

上一篇下一篇

猜你喜欢

热点阅读