赞
踩
- from PyQt5.Qt import *
- import sys
-
-
- class Window(QWidget):
- def __init__(self):
- super().__init__()
- self.setWindowTitle("")
- self.resize(800, 800)
- self.setup_ui()
-
- def setup_ui(self):
- def onTitleChanged(title):
- print('title changed', title)
- self.windowTitleChanged.connect(onTitleChanged)
-
- # 创建一个应用程序对象
- app = QApplication(sys.argv)
-
- window = Window()
- window.show()
- window.setWindowTitle('hello')
-
- # 应用程序的执行(进入到消息循环,无限循环中,检测整个程序所接收到的用户的交互信息)
- sys.exit(app.exec_())

窗口标题发生变化时
会发出windowTitleChanged信号
该信号一旦触发
槽函数onTitleChanged将被执行
- def setup_ui(self):
- def onTitleChanged(title):
- self.windowTitle('title changed'+title)
- self.windowTitleChanged.connect(onTitleChanged)
上面代码的功能
收到windowTitleChanged信号后
将标题改成title changed +"title"
标题一改变又会触发windowTitleChanged信号
槽函数又会被调用
进入一个死循环
这时可以使用
self.windowTitleChanged.disconnect()
与
self.blockSignals(True)
进行处理
enjoy
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。