首页 > 解决方案 > 自动生成的小部件上的 PyQt 信号

问题描述

    def spawnReps(self):
        db = SECLIB.connectToDB()
        cursor = db.cursor()
        cursor.execute("Select * from Reps")
        for x in cursor:
            thisWidget = QtWidgets.QWidget()
            thisLayout = QtWidgets.QHBoxLayout(thisWidget)
            thisRepNumLabel = QtWidgets.QLabel(text="Rep Num:")
            thisRepNum = QtWidgets.QLineEdit()
            thisRepNum.setText(x[0])
            thisLayout.addWidget(thisRepNumLabel)
            thisLayout.addWidget(thisRepNum)
            thisRepFnameLabel = QtWidgets.QLabel(text="First Name:")
            thisRepFname = QtWidgets.QLineEdit()
            thisRepFname.setText(x[1])
            thisRepFname.editingFinished.connect(lambda: self.repUpdated(thisRepFname.text()))

    def repUpdated(self, object):
        print(object)

所以这个函数会生成一个表格来查看我们所有的代理,我想让它们中的每一个都可以直接在线编辑,但是当我在 for 循环中连接函数时,每次编辑都会返回最后一个创建的实例。我需要做什么才能返回实际更改的实例?

标签: pythonpyqt5

解决方案


推荐阅读