标题中的简单问题 - 如果我调用setObjectName()一个对象,它是否必须是唯一的,还是只是因为约定而被推荐?我已经对 进行了子类化QLabel,并希望自动为创建的对象命名;如果这是一个坏主意,我会找到一些设置随机唯一名称的方法。(我实际上使用的是 PyQt,但这不应该影响答案!)
更新
为了回应到目前为止的 2 个答案(我应该已经预测到了!),我想这样做,以便我可以忽略我的子类的所有实例。调用findChildren(QLabel)级联,以便QLabel还找到所有子类- 如果我对所有子类对象使用相同的对象名称,那么我可以在 的第二个参数中使用正则表达式,findChildren()以便忽略它们
如果您查看QObject的文档,您可以看到它指出:-
此属性保存此对象的名称。您可以使用 findChild() 按名称(和类型)查找对象。您可以使用findChildren()找到一组对象。
查看findChildren(),它指出:-
返回此对象的所有具有给定名称且可以强制转换为 T 类型的子项...
因此,很明显可以看出多个对象可以具有相同的名称。
| 归档时间: |
|
| 查看次数: |
2294 次 |
| 最近记录: |