通过提供的变量调用对象实例
Object instance evocation by provided variable
假设有一组对象,例如:
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(data) 完成的,这没什么大不了的。
有没有人对如何实现这一点有一些有用的想法?我有点卡在这里了。
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 = 对象(数据)
但是我如何 select 正确的对象
所有编程都是在Python-3.4和PyQt5.5中完成的。
干杯,
克里斯蒂安
您可以保留一个将 ID 映射到 类 的字典。然后你可以使用字典来创建你的对象。
objects = {4: oven, 8: delta_t_pause, 15: caliberBox}
if senderid in objects:
obj = objects[senderid](data)
假设有一组对象,例如:
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(data) 完成的,这没什么大不了的。
有没有人对如何实现这一点有一些有用的想法?我有点卡在这里了。
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 = 对象(数据) 但是我如何 select 正确的对象
所有编程都是在Python-3.4和PyQt5.5中完成的。
干杯, 克里斯蒂安
您可以保留一个将 ID 映射到 类 的字典。然后你可以使用字典来创建你的对象。
objects = {4: oven, 8: delta_t_pause, 15: caliberBox}
if senderid in objects:
obj = objects[senderid](data)