相关文章推荐
不拘小节的机器猫  ·  Nature投稿:我用ChatGPT写基金部 ...·  1 年前    · 
火星上的海豚  ·  属性访问器_属性访问器定义顺序错误-CSDN博客·  1 年前    · 
玩足球的麻辣香锅  ·  输入awk '{print ...·  1 年前    · 
打篮球的煎饼  ·  JS ...·  2 年前    · 
想旅行的梨子  ·  Oracle Role Manager 特性概述·  2 年前    · 
Code  ›  初学PyQt,如何理解signal-slot? - 用户 的回答 -
pyqt 哈希表
https://www.zhihu.com/question/47468080/answer/108214687
帅呆的匕首
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的机制就是这样

欢迎大神指正

 
推荐文章
不拘小节的机器猫  ·  Nature投稿:我用ChatGPT写基金部分内容,三天的工作量减少到三个小时-CSDN博客
1 年前
火星上的海豚  ·  属性访问器_属性访问器定义顺序错误-CSDN博客
1 年前
玩足球的麻辣香锅  ·  输入awk '{print ${pp}$0}' file.txt显示awk:line 1:syntax error at or near { - CSDN文库
1 年前
打篮球的煎饼  ·  JS 递归一个Promise封装的异步函数_RYAN・L:的博客-CSDN博客
2 年前
想旅行的梨子  ·  Oracle Role Manager 特性概述
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号