myStyleOptionTab = QStyleOptionTab(opt)
Другой пример из документов PySide:
def drawPrimitive(self, element, option, painter, widget):
if element == self.PE_FrameFocusRect:
focusRectOption = QStyleOptionFocusRect(option)
if focusRectOption:
# ...
Документы PySide несколько искажены, потому что они волшебным образом получены из документов C ++?Но обычно код Python в примерах является правильным?
В Python нет понятия «приведение».Понятие приведено для статически типизированных языков.Я не совсем уверен, как объяснить, что PySide делает с QStyleOption.В любом случае, создание экземпляра путем вызова класса (например, QStyleOptionTab (opt)) проверяет, является ли данный экземпляр «правильным типом», где тип является понятием типа в C ++.Или преобразует его из суперкласса QStyleOption в данный подкласс.