相关文章推荐
道上混的饭盒  ·  曹魏、西晋郊礼重构及其对郑玄、王肃说之择从= ...·  7 月前    · 
睡不着的荒野  ·  在日本银行观览钱币的历史:货币博物馆| ...·  8 月前    · 
机灵的小熊猫  ·  日产阳光登陆中国_新浪汽车_新浪网·  8 月前    · 
坚强的伤疤  ·  吉林工商学院2023年6月四级准考证打印入口 ...·  9 月前    · 
稳重的李子  ·  意大利佛罗伦萨美术学院院长访问清华大学美术学 ...·  9 月前    · 
小百科  ›  初学PyQt,如何理解signal-slot? - 用户 的回答 -
pyqt 哈希表
帅呆的匕首
2 年前
初学PyQt,如何理解signal-slot?
知乎用户
知乎用户

信号与槽signal-slot是Qt特色的机制

完成了自定义的事件触发,它的实现原理是哈希表,也就是说,每当有connect之后,都会在哈希表中插入一条映射。当emit了一个signal之后,会在哈希表中查找对应的slot,然后执行对应slot函数

event是Qt各个基类模块已经编写好的函数,可以用来重写overwrite,然后实现特定的功能

比如常见的控件QWidget,QButton……里,都会有对应的鼠标移动事件、鼠标滚轮事件、关闭事件、拖拽事件……这些都是对应默认的操作

例如

QWidget关闭函数closeEvent(),就是将当前的控件关闭

但是经常会有程序,关闭之后只是最小化到托盘

那么我们就可以继承QWidget,重写closeEvent(),使其最小化

然后再调用close()函数的时候,这个关闭事件就会变成最小化

————————————————————

我用的C++Qt,有段时间没接触了,很多细节记得不是很清楚

但所有的Qt的机制就是这样

欢迎大神指正

 
推荐文章
道上混的饭盒  ·  曹魏、西晋郊礼重构及其对郑玄、王肃说之择从= The Reconstruction ...
7 月前
睡不着的荒野  ·  在日本银行观览钱币的历史:货币博物馆| Nippon.com
8 月前
机灵的小熊猫  ·  日产阳光登陆中国_新浪汽车_新浪网
8 月前
坚强的伤疤  ·  吉林工商学院2023年6月四级准考证打印入口官网:6.5日开始_英语四 ...
9 月前
稳重的李子  ·  意大利佛罗伦萨美术学院院长访问清华大学美术学院-清华大学
9 月前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
小百科 - 百科知识指南
© 2024 ~ 沪ICP备11025650号