Как предложил @Heike, вы можете получить ссылку на виджет, который имеет фокус, с помощью QApplication.focusWidget
В зависимости от того, как созданы ваши виджеты, они могут не иметь objectName. Если вы используете GUI Designer или Creator для размещения виджетов в форме, тогда у вас будет установлено имя объекта. Однако, если вы создаете форму в коде, у вас может вообще не быть задано objectName. В этом случае вы можете просто убедиться, что установили objectName в своем коде. Вы можете увидеть этот мой вопрос для обсуждения установки objectName, но чтобы перейти к делу, вы можете использовать objectName
в качестве аргумента ключевого слова, когда вы объявляете свой виджет в коде, например:
self.MyWidget = QWidget(objectName = MyWidget)
и позже, если вы хотите получить имя виджета, у которого есть фокус, вы должны использовать
widgetname = self.focusWidget().objectName()
или вы можете просто сделать что-то со ссылкой:
widget = self.focusWidget()