信号的定义
PyQt5中的信号我的理解就像饭店出菜口的那个铃,➡️

需要的时候就是“叮”一下.然后厨师会叫出菜名或者桌号,服务员就会把菜送到正确的顾客桌上.
下面说正体:(此处不讲什么信号与槽,single与slot,我觉得太复杂)
关于自定义信号,你需要掌握以下几个点:
- 信号的声明
- 信号的触发
- 信号的接收
下面我们要实现这样一个例子:有一个QTableView控件(3*3大小),无论我们单击哪个单元格,都会在控制台输出该行的第一列的内容.
-
信号的声明(买一个传菜铃)
需要自定义某个控件的信号,你需要创建一个新类继承原来的类,比如:
class MyTableView(QTableView):
def __init__(self, parent = None):
super(MyTableView,self).__init__(parent)
这里我们就创建了一个自己的MyTableView类,继承于QTableView.
他的用法跟正常的QTableView用法一毛一样,然后我们就要来对信号进行声明
class MyTableView(QTableView):
doubleClickedItem = pyqtSignal(str)
def __init__(self, parent = None):
super(MyTableView,self).__init__(parent)
在初始化函数__init__ 之前加入的就是自定义信号的申明,这个声明只能在初始化函数外面,pyqtSignal这个类是在PyQt5.QtCore里面.

本文介绍了PyQt5中自定义信号的理解和使用,包括信号的声明、触发和接收。通过一个QTableView控件的例子,展示了如何在双击单元格时输出对应行的第一列内容。自定义信号的关键点包括使用pyqtSignal声明信号,通过emit触发信号,以及使用connect接收信号。
最低0.47元/天 解锁文章
1413





