PyQt的。你怎么知道QGraphicsScene中的对象类型?

时间:2015-07-29 10:13:31

标签: python pyqt qgraphicsscene object-type

我使用pyqt4.8 + python2.7

QGraphicsScene中的

我添加了不同的对象,例如QGraphicsEllipseItemQGraphicsProxyWidget(带QPushButton)。使用不同类型的对象必须调用不同的函数。

例如改变对象的大小

代表QGraphicsEllipseItem

item.setRect(size)

代表QPushButton

item.widget().setRect(size)

PS。 setRect()的{​​{1}} - 是我的自定义功能

我在场景中选择对象并想要改变它们的大小。但是对于不同的对象需要调用不同的函数,并且需要得到那种类型的对象才能产生所需的函数。

我选择了对象。

QPushButton

如何进一步了解触发所需功能的对象类型?

1 个答案:

答案 0 :(得分:5)

您可以使用方法type()

selItems = self.scene.selectedItems()
for item in selItems:
    obj_type = type(item)

并使用if语句检查:

if obj_type == QPushButton:
    # do stuff

或者您可以使用isinstance()功能进行检查。

if isinstance(item, QPushButton):
    # do stuff

我以QPushButton为例,设置您要检查的小部件。