首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

PyQt Designer中带参数的信号为什么匹配不到带参数的槽函数?

  • 23-09-22 15:22
  • 2463
  • 13244
blog.csdn.net

老猿在学习ListView组件时,想实现一个在ListView组件中选中一个选择项后触发消息给主窗口,通过主窗口显示当前选中的项的内容。
进入QtDesigner后,设计一个图形界面,其中窗口界面使用Widget组件,在窗口上方一个ListView组件、一个TextBrowser组件和两个PushButton组件,如图:
在这里插入图片描述
以上控件中,主窗口名为:win_ListView,ListView控件名为:listView,最上面的TextBrowser控件名为:displaySelected。
老猿在实现鼠标点击ListView时,需要获取当前选择的项目,如是在win_ListView先定义了一个槽函数SelectChange(Index),带一个参数Index,如图:
在这里插入图片描述
再定义ListView控件Clicked信号与该槽函数的关系,进入定义界面时却找不到该定义的槽函数,如图:
在这里插入图片描述
在在win_ListView控件中没有这个槽函数,按理只要槽函数的参数不多于信号的参数这个槽函数就会可以建立连接。查了很多资料,都没有找到答案,最后想起来信号和槽函数连接必须参数个数满足要求而且要求参数类型相同。而Python没有严格的类型判断,老猿以为只要参数个数相同就可以,实际上由于Qt本身是基于C语言的,PyQt只是在Qt基础上进行了Python的包装转换,因此这个类型很重要。于是将参函数的参数换成了与信号相同的参数名,实际上这不是参数名而是参数类型,一试果然通过了,如图:
在这里插入图片描述
总结:
槽函数和信号括号内的内容不是参数名,而是参数类型,槽函数和信号的参数不能多于信号的参数,且相关参数的类型名必须完全相同,这样才能建立槽函数和信号的连接。

老猿Python,跟老猿学Python!
博客地址:http://iyenn.com/index/link?url=https://blog.csdn.net/LaoYuanPython

老猿Python博客文章目录:http://iyenn.com/rec/324322.html
请大家多多支持,点赞、评论和加关注!谢谢!

文章知识点与官方知识档案匹配,可进一步学习相关知识
Python入门技能树桌面应用开发PyQT333560 人正在系统学习中
老猿Python
微信公众号
专注Python相关语言、图像音视频处理、AI
注:本文转载自blog.csdn.net的LaoYuanPython的文章"https://blog.csdn.net/LaoYuanPython/article/details/101623365"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2024 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top