2017年Maya中的QDialog模块错误

时间:2017-09-20 17:32:09

标签: python qt pyqt maya

我的问题是我在Maya 2017中遇到的QDialog模块错误。

我正在使用Maya 2017来跟随Maya 2015中演示的PyQt for Maya课程。我安装了Qt.py,希望简化代码并避免PyQt4与PyQt5或PySide与PySide2之间的混淆。

所以,当我做的时候

print Qt 

我在脚本编辑器中得到以下内容,因此假设一切都很好。

<module 'Qt' from 'C:/Users/chuang/Documents/maya/2017/scripts\Qt.pyc'> 

然而,当我按照下面的演示在Maya 2015中通​​过以下方式成功拉出一个空窗口时:

import Qt.QtCore as qc
import Qt.QtGui as qg
dialog = qg.QDialog()
dialog.show()

我在2017年的Maya中做了同样的事情,并收到以下错误消息:

# Error: AttributeError: file <maya console> line 4: 'module' object has no attribute 'QDialog' #  

我在这里想念一些东西(希望不是拼写错误:))?

我能在Maya 2017上工作的唯一方法就是:

import Qt.QtWidgets as qw
import Qt.QtCore as qc
import Qt.QtGui as qg

dialog = qw.QDialog()
dialog.show()

但我不明白为什么会这样。

1 个答案:

答案 0 :(得分:1)

在Maya 2017和Maya 2018中,从QtGui模块中取出了一堆内容,而是放在新的QtWidgets模块中。所以你是对的,现在通过QtWidgets工作。

import PySide2.QtWidgets as qw
import PySide2.QtCore as qc
import PySide2.QtGui as qg

dialog = qw.QDialog()
dialog.show()

阅读Fredrik Averpil关于PySide2的精彩帖子:Dealing with Maya 2017 and PySide2