相关文章推荐
独立的滑板  ·  详解sed -i 命令入门教程_linux ...·  1 年前    · 
文武双全的爆米花  ·  十倍机会 ...·  1 年前    · 
有腹肌的啄木鸟  ·  从桌面发送 toast 通知 - ...·  1 年前    · 
会开车的匕首  ·  C语言:输入3个不同整数,并输出平均数,最小 ...·  1 年前    · 
有爱心的花卷  ·  PHP 5 echo/print 语句 | ...·  1 年前    · 
Code  ›  初学PyQt,如何理解signal-slot? - 用户 的回答 -
pyqt 哈希表
https://www.zhihu.com/question/47468080/answer/108214687
帅呆的匕首
1 年前
初学PyQt,如何理解signal-slot?
知乎用户
知乎用户

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

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

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

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

例如

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

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

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

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

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

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

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

欢迎大神指正

 
推荐文章
独立的滑板  ·  详解sed -i 命令入门教程_linux shell_脚本之家
1 年前
文武双全的爆米花  ·  十倍机会 :ChatGPT+RPA=AutoGPT|自动化|rpa|人工智能|autogpt_网易订阅
1 年前
有腹肌的啄木鸟  ·  从桌面发送 toast 通知 - Win32 apps | Microsoft Learn
1 年前
会开车的匕首  ·  C语言:输入3个不同整数,并输出平均数,最小数-百度经验
1 年前
有爱心的花卷  ·  PHP 5 echo/print 语句 | 菜鸟教程
1 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号