я хочу найти любой объект по Objectname имени строки внутри от QApplicationНайти элемент в QApplication только в ObjectName
Что-то вроде
QApplication.instance().findByClassName("codeEditor")
, который должен возвращать список виджетов с этим именем класса, который я могу перебрать, если есть более одного
[QPushButton (QPushButton at: 0x0000008EA3B3DD80), QWidget (QWidget at: 0x0000008EA3F33F40)]
Я прочитал this но это требует объект и я хочу что-то вроде *
Это то, что я придумал для тестирования:
def findWidget(name):
name = name.lower()
widgets = self.topLevelWidgets()
widgets = widgets + self.allWidgets()
ret = dict()
c = 0
for x in widgets:
c += 1
if name in x.objectName.lower() or name in str(x.__class__).lower():
ret["class:"+str(x.__class__)+str(c)] = "obj:"+x.objectName;continue
if hasattr(x, "text"):
if name in x.text.lower():
ret["class:"+str(x.__class__)+str(c)] = "obj:"+x.objectName
return ret
Он даже не найти 'InfoFrame', который явно есть:
>>> widget("info")
{}
так (почти) все происходит от 'QObject' искать этот тип класса –
@SebastianLange Что вы имеете в виду? – Bluscream
@SebastianLange https://snag.gy/md8M7Y.jpg – Bluscream