Python 如何使用在类中动态构建的实例的按钮

Python 如何使用在类中动态构建的实例的按钮,python,pyqt,pyqt5,qpushbutton,Python,Pyqt,Pyqt5,Qpushbutton,此脚本用于基于dict的键构建按钮,并且在调用之前dict是未知的。但我需要在类实例化后使用该按钮。那我该怎么做呢 from PyQt5.QtWidgets import * from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.Qt import * import sys ##build a class class Ui_Dialog(QDialog): def __init__(self, graph_obj=

此脚本用于基于dict的键构建按钮,并且在调用之前dict是未知的。但我需要在类实例化后使用该按钮。那我该怎么做呢

from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.Qt import *
import sys
##build a class
class Ui_Dialog(QDialog):
    def __init__(self, graph_obj=None):
        super(Ui_Dialog, self).__init__()
        self.resize(1000, 800)
        self.setObjectName("run dialog")
        self.gridLayout = QGridLayout(self)
        self.gridLayout.setContentsMargins(20, 20, 20, 20)
        self.gridLayout.setObjectName("gridLayout")

        for node in iter(graph_obj.keys()):##this keys is not known in every call
            self.button = QPushButton()
            self.button.setText(str(node))
            self.button.setObjectName(node)
            self.gridLayout.addWidget(self.button)
        self.setLayout(self.gridLayout)


if __name__ == '__main__':

    app = QApplication(sys.argv)
    targets_graph = {'a': "some contents", 'b': "some other contents"}  ##this dict often changed
    dialog = Ui_Dialog(graph_obj=targets_graph)

    ##I want to build some tasks for the "a button and b button", how can I get the button?
    dialog.show()
    sys.exit(app.exec_())

可能的解决办法:1。在创建按钮2之后,将按钮的信号连接到插槽中。将创建的按钮保存在容器中,并通过方法将其返回给请求者。3.创建任何按钮时,请使用
setObjectName(“buttonUniqueName”)
然后使用
QObject::findChild(“buttonUniqueName”)
非常感谢,方法3可以完美地解决我的问题。我需要召回这些按钮来安排和其他困难的操作