环境:py2.7.14 + pyqt4

1.在使用下列方式创建信号连接时

self.connect(button, QtCore.SIGNAL('clicked()'),self.slot1(arg))

报错提示为:

TypeError: arguments did not match any overloaded call:
  QObject.connect(QObject, SIGNAL(), QObject, SLOT(), Qt.ConnectionType=Qt.AutoConnection): argument 3 has unexpected type 'NoneType'
  QObject.connect(QObject, SIGNAL(), callable, Qt.ConnectionType=Qt.AutoConnection): argument 3 has unexpected type 'NoneType'
  QObject.connect(QObject, SIGNAL(), SLOT(), Qt.ConnectionType=Qt.AutoConnection): argument 3 has unexpected type 'NoneType'

解析:

这里的slot1()是一个函数,当槽函数是自定义的函数时要这样,用lambda: self.slot1(arg)替换self.slot1(arg)即可

或者这个slot1只是一个method,不需要参数时,用slot1替换slot即可。

看到这,其本质是python调用函数时加不加括号的区别。

def ab():return  1+2
print ab
print ab()

结果:

<function ab at 0x00000000035AB748>
3

综上,其区别在与不加括号时,调用的时这个函数的,这个对象的内存地址,

加括号时你调用的是这个函数的运行结果

参考StackOverflow:

person a:The connect() method expects a callable argument. When you write self.Soft_Memory() you are making a call to that method, and the result of that call (None, since you don't explicitly return anything) is what is being passed to connect().

person b:You want to pass a reference to the method itself.

you should use a reference of the method, instead of calling it:

self.PB1.clicked.connect(self.Soft_Memory)

However, you might often need to pass arguments on those functions (I certainly do). On those situations, if you need to use args there's a workaround by using lambda.

self.PB1.clicked.connect(lambda: myfunction(self, arg1, True, "example", arg4))

参考链接:

https://stackoverflow.com/questions/45793966/clicked-connect-error

pyqt 使用问题总结相关推荐

  1. 【camera】基于YOLO的车辆多维特征识别系统(车色,车品牌,车标,车型)与PYQT实现(课程设计)

    基于YOLO的车辆多维特征识别系统(车色,车品牌,车标,车型)与PYQT实现(课程设计) 代码下载地址:下载地址 DEMO get started: PyQt5, 3.3以上的cv2 ,hyperlp ...

  2. 关于python3与python2同时存在情况下导入pyqt失败解决记录

    最近感觉tkinter功能还是比较不适合新手做出高大上的界面,故开始使用pyqt,通过pip安装好了之后,利用qt设计师设计好界面之后,cmd运行之,报错提示没有找到pyqt5模块,IDE运行能正常加 ...

  3. pyqt designer connect无响应_如何用PyQt编写桌面程序,创建并打开播放列表?

    由于电脑上的短视频太多了,并且分别存放在各个子目录下,每次更新后想要整理视频比较麻烦,因此想用Python编写程序来辅助管理视频文件.其实写个Python脚本程序即可实现大器的需求,但为了多练习PyQ ...

  4. Python培训分享:PyQT是什么?PyQt4和PyQt5的区别是什么?

    今天小编为大家介绍的课程是关于Python培训方面的教程,主要讲的是PyQT是什么?PyQt4和PyQt5的区别是什么?来看看下面的详细介绍吧. Python培训分享:PyQT是什么?PyQt4和Py ...

  5. python 动态编译代码_使用PyQt(Python+Qt)+动态编译36行代码实现的计算器

    PyQt是基于跨平台的图形界面C++开发工具Qt加Python包装的一个GPL软件(GPL是GNU General Public License的缩写,是GNU通用公共授权非正式的中文翻译),Qt基于 ...

  6. Mac下安装Pyqt

    1.安装sip brew install sip 2.安装pyqt brew install pyqt

  7. PyQt主窗体设置停靠窗口(QDockWidget)的叠加顺序

    PyQt提供了方便的停靠窗口控件,我们可以很方便的编写一个停靠窗口,代码和效果如下: # -*- coding: utf-8 -*- from PyQt4 import QtGui, QtCore c ...

  8. python怎么重启内核_解决jupyter运行pyqt代码内核重启的问题

    在jupyter notebook或者是 Qtconsole下编译运行一个简单的pyqt程序,总是报错: The kernel appears to have died. It will restar ...

  9. python 对话框的创建及调用_Python 使用 PyQt 自定义对话框

    作者:ZephyrHou / 欢迎交流学习!!! 在使用 PyQt 进行操作时,内置的窗口往往不能满足我们的需求,所以有时候我们需要自定义一个对话框来满足我们的需要. 1. 在使用前先导入需要用到的库 ...

  10. pyqt tableview mysql_当数据库中添加了一个新条目时,如何在PyQt中更新TableView?

    我正在尝试在PyQt Gui中更新我的TableView,这样每当有新条目添加到QPSQL数据库时,它也会在Gui中的TableView中更新它. 目前,连接工作得很好,可以正确地连接到数据库,并显示 ...

最新文章

  1. 10 个牛逼的单行代码编程技巧,你会用吗?
  2. Redis-列表(List)基础
  3. linux 随机10字符病毒,Linux系统随机10字符病毒的清除
  4. Ubuntu 16.04安装Docker-Compose 与 Can't connect to docker from docker-compose
  5. chrome保护眼睛设置【转】
  6. Stacked Conditional Generative Adversarial Networks for Jointly Learning Shadow Detection and Shadow
  7. vue项目获取浏览器地址栏参数方法 ?aaa=111bbb=222(非路由传参)
  8. RxSwift学习(一) --- RxSwift介绍
  9. 利用点赞功能提升Linkedin账号曝光率和活跃度
  10. Linux驱动之等待队列
  11. Java基础学习笔记(二)_Java核心技术(进阶)
  12. 从事互联网经营就要办理icp许可证吗
  13. Side Window Filtering 论文笔记
  14. 小游戏项目及分工情况
  15. spark shuffle 内幕彻底解密
  16. 【美萍超市管理系统】汉码盘点机无缝对接 金蝶盘点机条码数据采集器智能终端PDA
  17. 蓝桥杯成绩公布啦,国赛将至?大一省一选手带你冲刺国赛
  18. 1996届瑞安市计算机学校,1996届校友
  19. yum一次性下载安装包及其依赖包
  20. 出货系统镜像批量安装方案

热门文章

  1. 已知一个如图所示的训练数据集,其正例点是x1=(3,3),x1=(4,3),负例点是x3=(1,1),试求最大间隔分离超平面。
  2. iOS 10 is the maximum deployment target for 32-bit targets
  3. 深入浅出,五次课程,带您进入数据分析的世界
  4. 超越美日,世界级项目准备起步,基建狂魔是如何管理隧道
  5. php--如何编写一个简易的论坛
  6. Nginx+PHP+MySQL分离部署+社区论坛
  7. 罗杰波、马毅、华刚等谈视觉研究那些事:是时候重新定义视觉了
  8. 网易考试大题知识盲区之B树、B+树、B*树
  9. 2016年8月30日 星期二 --出埃及记 Exodus 16:31
  10. dnf跨5无限连接服务器,DNF:跨5跨6被特殊“服务”,请问:会不会有补偿,制裁怎么解决...