Рассмотрим У меня есть класс с такой структурой (CustomClass
может/не может быть на вершине иерархии):PySide получить родитель QObject в любом месте в иерархии
CustomClass
.. QTabWidget
.... QWidget
...... QTreeView
В QTreeView
У меня есть функция, пытаясь вернуться к CustomClass
. Прямо сейчас, чтобы сделать это, мне нужно сделать: self.parent().parent().parent()
.
Хотя это работает, он просто чувствует себя очень неряшливо, и если мне когда-либо понадобится изменить структуру, это не удастся. Есть ли другой способ получить CustomClass
? Обычно я бы передал экземпляр его во время своего конструктора, который я могу назвать напрямую, но задаюсь вопросом, что лучше всего подходит для этого.
Если вы хотите, чтобы найти родителя 'CustomClass' то это своего рода, как это сделать (хотя вы, вероятно, должны использовать 'isinstance()', а не 'type() =='). Но заголовок вопроса заставляет звучать так, как будто вы хотите, чтобы виджет верхнего уровня был или нет, это «CustomClass», на который отвечает «window()». – strubbly
Спасибо, в этом случае 'window()' именно то, что мне нужно. :) –
Не уверен, что я должен ответить на этот вопрос? Думаю, я просто буду держать вещи в чистоте ... – strubbly