Meine Frage bezieht sich auf einen Fehler QDialog Modul I in Maya bekam 2017.QDialog Modulfehler in Maya 2017
Ich bin mit Maya 2017 eine PyQt für Maya Kurs zu folgen, die Demo-ed in Maya 2015 I ist installiert Qt.py hofft, den Code zu vereinfachen und die Verwirrung zwischen PyQt4 gegen PyQt5 oder PySide gegen PySide2 zu vermeiden.
Also, wenn ich
print Qt
ich folgend in Skript-Editor erhalten, also davon ausgehen, alles gut ist.
<module 'Qt' from 'C:/Users/chuang/Documents/maya/2017/scripts\Qt.pyc'>
Allerdings, wenn ich folge einer Demo, die erfolgreich ein leeres Fenster in Maya 2015 durch die unten zieht:
import Qt.QtCore as qc
import Qt.QtGui as qg
dialog = qg.QDialog()
dialog.show()
tat ich das gleiche in Maya 2017 und bekam die Fehlermeldung unter:
# Error: AttributeError: file <maya console> line 4: 'module' object has no attribute 'QDialog' #
Vermisse ich hier etwas (hoffentlich kein Tippfehler :))?
Der einzige Weg, die ich bekommen kann es in Maya 2017 zu arbeiten, wenn ich tun:
import Qt.QtWidgets as qw
import Qt.QtCore as qc
import Qt.QtGui as qg
dialog = qw.QDialog()
dialog.show()
Aber ich verstehe nicht, warum es funktioniert.
Sieht so aus, als gäbe es ein Upgrade von Qt4 auf Qt5. Sie können nichts dagegen tun, als mit der Dokumentation Schritt zu halten. –
Ja, mir ist seit Maya 2017 das Upgrade von Qt4 auf Qt5 bekannt, und deshalb habe ich Qt.py als Schicht installiert, in der Hoffnung, dass ich jede PyQt-Bibliothek verwenden kann. Scheint wie QDialog ist unter QtWidgets in PyQt5 und das erklärt wahrscheinlich, warum es nicht funktionierte für mich versuchen, es über QtGui zu nennen. Anscheinend funktionierte es in Maya 2015 (PyQt4) über QtGui. –