#-*-coding:utf-8-*-
#作者--宋春风
#时间:2019-03-05
'''
1.这里说明我为什不用from XXX import XXX
因为我做项目需要打包成exe,from XXX import XXX打包总失败
2.循环传值解决重要两个条件:1.button是list 2.sender接收你按钮上的字,再做为传入你的事件的值
3.这里写的已经比较清楚了,但是还不是很全面,希望能帮到和我一样遇到过懒得复制粘贴,
想循环创建多个按钮,然后直接连接事件的朋友
4.直接上代码,没有写文字解释,有看不懂的可以评论留言-------------------------
'''
import PyQt5.QtCore as Qt
import PyQt5.QtWidgets as widgets
import PyQt5.QtWebEngineWidgets as QtWeb
import PyQt5.QtGui as gui
import sys
class Sign(widgets.QMainWindow):
def __init__(self):
super().__init__()
self.__initUI__()
#self.grid_layout()
def __initUI__(self):
#窗口大小
self.resize(400,200)
self.hoxlayout = widgets.QHBoxLayout(self)
#创建一个按钮,想循环传值必须是列表(内容可以试其他我只试过数字--感兴趣可以试试其他)
self.button1 = []
#根据自己的要求自己设置按钮上的字---这里很重要,这些字将会做为传递参数的依据
s
pyqt5循环生成按钮并且直接连接事件,但是点击按钮的时候只是响应最后一个事件(解决参考)
最新推荐文章于 2024-07-21 00:10:03 发布
在PyQT5应用中,当通过循环动态生成多个按钮并为每个按钮绑定事件处理函数时,可能会遇到点击按钮仅触发最后一个按钮事件的情况。这通常由于槽函数引用了相同的实例变量导致。解决办法是使用lambda表达式或 partial 函数确保每个按钮有自己的事件处理参数。
摘要由CSDN通过智能技术生成