调用了在同目录下的catch文件,在PyQt5的点击触发该文件下的catchmassage函数,结果发现,即使没有点击该按钮,任然会自动执行
btn2 = QPushButton('进行识别',self)
#使用lambda来进行传参
btn2.clicked.connect(lambda:catch.catchmassage(img))
查看了pyqt的文档,发现写法并没有问题,最后发现是catch.py没有写上
if __name__ == '__main__':
#检测当前文件是否是主程序
所以调用catch的时候会直接把catch的程序执行出来,然后直接输出文件,有点蠢,记录一下
调用了在同目录下的catch文件,在PyQt5的点击触发该文件下的catchmassage函数,结果发现,即使没有点击该按钮,任然会自动执行。所以调用catch的时候会直接把catch的程序执行出来,然后直接输出文件,有点蠢,记录一下。查看了pyqt的文档,发现写法并没有问题,最后发现是catch.py没有写上。
阅读这篇的前提是已经默认了解了
PyQt5
的基础框架(超链接
点击
跳转)。我们进一步介绍如何创建按钮和触发
点击
事件。代码如下:
# -*- coding:utf-8 -*-
import sys
from
PyQt5
.
Qt
Widgets import QMainWindow, QApplication, QPush
Button
class MainWindow(QMainWindow):
def __init__(self, parent=None):
super(MainWindo
2
cli
cke
d.
connect
后面的
connect
出现下划线
这个
问题
其实很简单,千万不能把库里面所有的包都导入,否则会有重名包会有冲突,视频教程里面真的是坑!
发现出错的时候觉得非常恼火,本来看起来不应该出错的,结果就发生了,找到原因了,又觉得好
from
PyQt5
.
Qt
Widgets import QPush
Button
, QWidget,QDesktopWidget,QApplication,QPush
Button
,QVBoxLayout
import sys
from
PyQt5
import
Qt
Gui
class Main(QWidget):
def __init__(self,parent=None) :
super(Main,self).__init__(parent)
self.setW