Maya 2017中PySide2报错:‘module’对象无‘QPushButton’属性求助
嘿,这个坑我太熟了!你遇到的是Qt5(PySide2基于Qt5)和旧版Qt模块划分的差异问题——在Qt5里,像QPushButton这类UI控件已经从QtGui模块迁移到**QtWidgets**模块了,而Maya 2017搭载的PySide2完全遵循这个新的模块结构,所以你从QtGui里调用自然会报错。
给你两个快速解决的步骤:
第一步:修正导入语句,把
QtWidgets模块加进来# 单独导入QtWidgets from PySide2 import QtWidgets # 如果需要同时使用QtGui里的功能,也可以一起导入 from PySide2 import QtGui, QtWidgets第二步:从
QtWidgets模块创建按钮button = QtWidgets.QPushButton()
要是想在Maya里立刻看到效果,还可以加一行代码让按钮显示出来:
button.show()
补充个小背景:如果你之前接触过基于Qt4的PySide,那肯定会习惯从QtGui里找控件,但PySide2是Qt5的绑定,把UI控件和绘图相关的功能做了拆分,QtGui现在主要负责绘图、字体、图标这类底层视觉元素,而所有交互式UI控件都归到QtWidgets里啦。
内容的提问来源于stack exchange,提问作者Vlad
相关产品推荐
相关产品推荐

