通过提供的变量引用对象实例

时间:2015-08-11 14:05:39

标签: python-3.4 pyqt5

想象有一组对象,例如:

class oven():
    pass
class delta_t_pause():
    pass
class caliberBox():
    pass
class caliberRectl():
    pass
class caliberRound():
    pass

等等。有一个class Button(QtWidgets.QPushButton),当通过鼠标点击激活时会收到两个变量。在变量上携带一个id,其他数据存储在对象中。

我想要做的是,创建一个与id匹配的对象实例。将数据分配给它可能是通过obj = Object(数据)完成的,这没什么大不了的。

有没有人有一些有用的想法如何实现?我有点被困在这里。

class Button(QtWidgets.QPushButton):
    def __init__(self, senderid, items, parent):
        super().__init__(senderid, items, parent)
        print(senderid)
        self.obj = items

    def mousePressEvent(self,event):
        QtWidgets.QPushButton.mousePressEvent(self, event)
        if event.button() == QtCore.Qt.LeftButton:
            print(event.button(),' pressed')

是我到目前为止......

喜欢的东西     如果senderid在列表中:         obj =对象(数据) 但是如何选择正确的对象

所有编程都在Python-3.4和PyQt5.5中完成。

欢呼声, 基督教

1 个答案:

答案 0 :(得分:0)

您可以保留一个将ID映射到类的字典。然后你可以使用dict来创建你的对象。

CL-USER 11 > (format nil "The value is: ~(~a~)" 'foo) 
"The value is: foo"