Я пытаюсь найти способ как-то «получить» компонент GUI, вызывающий функцию. Таким образом, я могу еще больше объединить свой код в части многократного использования для компонентов, которые выполняют аналогичные задачи. Мне нужен способ сделать это в командах GUI от Maya, а также в Qt. Я предполагаю, что я ищу общий трюк python, например, «init», «файл», «main» и т. Д. Если для этого нет общего способа python, любая майя/Qt специальные трюки также приветствуются.Как получить компонент Maya/Qt GUI, который вызывает функцию?
Вот некоторый произвольный псевдо код, чтобы лучше объяснить, что я ищу:
field1 = floatSlider(changeCommand=myFunction)
field2 = colorSlider(changeCommand=myFunction)
def myFunction(*args):
get the component that called this function
if the component is a floatSlider
get component's value
do the rest of the stuff
elif the component is a colorSlider
get component's color
do the rest of the stuff
В Qt есть сигналы и слоты, и есть метод QObject.sender(), который возвращает вызывающий элемент GUI. – Gombat