Задать вопрос
@KGserega

Можно ли в Python3 программно найти виджет PyQt5, по имени (строковое значение)?

В Python совсем новичок. По эл. книгам, по тем которые у меня, не могу разобраться. Или посоветуйте как сделать или букварь посоветуйте.
В программе создаются группы Label. На этапе разработки не известно, сколько их может быть.
В отдельном классе переопределяем Label - clicked = QtCore.pyqtSignal()
В классе который создает "группы Label"

map_ = QtCore.QSignalMapper(self)    # Создаем маппер
self.labelTools.clicked.connect(map_.map)    # Привязываем
map_.setMapping(self.labelTools, int(self.numWin))    # Передаем индекс

#В слоте   -                    
@QtCore.pyqtSlot(int)
def on_click(self, index):
    print(str(index))
    w = QWidget.sender(self)
    print(w.sender().objectName())    # пишет имя Label  
    wp = w.sender().parent()
    print(wp.objectName())    # имя родителя

В слоте получаем имя Label и его родителя. Минимум, нужно иметь доступ к self.toolButton.setGeometry. Но лучше полный доступ к виджету имя которого выводит в консоль скрипт.
  • Вопрос задан
  • 421 просмотр
Подписаться 1 Средний 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы