gpt4 book ai didi

python - pyqt。你怎么知道 QGraphicsScene 中对象的类型?

转载 作者:太空宇宙 更新时间:2023-11-03 13:40:46 24 4
gpt4 key购买 nike

我用的是pyqt4.8 + python2.7

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

比如改变对象的大小

对于QGraphicsEllipseItem:

item.setRect(size)

对于 QPushButton:

item.widget().setRect(size)

附言。 setRect() for QPushButton - 是我的自定义函数

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

我得到了选定的对象。

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

如何进一步了解什么类型的对象触发期望的功能?

最佳答案

您可以使用方法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为例,设置你要查询的widget。

关于python - pyqt。你怎么知道 QGraphicsScene 中对象的类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31697518/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com