PyQT5之多个信号
1.PyQT5图像2.PyQT5水平垂直布局3.PyQT5之图片左右翻页4.PyQT5之QPushButton和布局5.PyQT5之label6.PyQT5之选择图片7.PyQT5之自定义信号8.PyQT5之窗口9.PyQT5之菜单栏和工具栏10.PyQT5之QComboBox11.PyQT5之Checkbox12.PyQT5之QRadioButton13.PyQT5之单行文本输入到多行显示窗14.PyQT5之网格布局多图片显示15.PyQtGraph绘制折线图16.PyQT5之PyQtGraph实时数据显示17.PyQT5之窗口最大化最小化18.PyQT5之QSS基础/子控件选择器19.PyQT5样式设置20.PyQT5绘图21.PyQT5窗口样式设置22.PyQT5之设置窗口控件风格23.PyQT5之多窗口交互24.PyQT5之override覆盖槽函数25.PyQT5之为槽函数传递参数26.PyQT5信号与槽的连接27.PyQT5信号刷新时间28.PyQT5之信号关闭窗口29.信号与槽N对N
30.PyQT5之多个信号
31.PyQT5之QTreeView32.PyQT5内嵌html33.PyQT5加载本地web页面34.PyQT5之QWebEngineView35.PyQT5之QThread36.PyQT5之QTimer37.PyQT5之QStackedWidget38.PyQT5之QTreeWidget-QTabWidget39.PyQT5之QTableWidget40.PyQT5之QListWidget41.PyQT5之QListView42.PyQT5之二维表QTableView43.PyQT5打印机44.PyQT5之QPainter45.PyQT5之QFontDialog46.PyQT5之QInputDialog47.PyQT5之QMessageBox48.PyQT5之QDialog49.PyQT5之多页面切换50.PyQT5之计数器控件QSpinBox51.PyQT5之滑块控件QSlider52.PyQtGraph绘图参考53.PyQtGraph之多图绘制54.PyQtGraph之柱状图55.PyQt5选择文件控件QFileDialog···
from PyQt5.QtCore import *
class MultiSignal(QObject):
# 定义一个信号
signal1 = pyqtSignal()
# 发送3个参数的信号
signal2 = pyqtSignal(int)
signal3 = pyqtSignal(int, str)
signal4 = pyqtSignal(list)
signal5 = pyqtSignal(dict)
# 声明一个重载版本的信号,也就是槽函数的参数可以是int和str类型,也可以只有一个str类型的参数
signal6 = pyqtSignal([int, str], [str])
def __init__(self):
super().__init__()
self.signal1.connect(self.signal_call1)
self.signal2.connect(self.signal_call2)
self.signal3.connect(self.signal_call3)
self.signal4.connect(self.signal_call4)
self.signal5.connect(self.signal_call5)
self.signal6[int, str].connect(self.signal_call6) # 默认关联到第一个上
self.signal6[str].connect(self.signal_call6_overload) # 关联到第二个上
self.signal1.emit()
self.signal2.emit(10)
self.signal3.emit(1, "hello world")
self.signal4.emit([1, 2, 3])
self.signal5.emit({"name": "Jack", "age": 30})
self.signal6[str].emit("test6")
self.signal6[int, str].emit(20, "test")
def signal_call1(self):
print("signal1 emit")
def signal_call2(self, val):
print("signal2 emit, value=", val)
def signal_call3(self, val, text):
print("signal3 emit, value=", val, text)
def signal_call4(self, val):
print("signal4 emit, value=", val)
def signal_call5(self, val):
print("signal5 emit, value=", val)
def signal_call6(self, val, text):
print("signal6 emit, value=", val, text)
def signal_call6_overload(self, val):
print("signal6 overload emit, value=", val)
class MySlot(QObject):
def get(self, msg):
print("信息:" + msg)
def get1(self, msg, a, b):
print("信息:" + msg, "今天是{}月{}日".format(a, b))
if name == 'main':
MultiSignal()
···
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析