我对Python的了解仍然很基本,直到现在我才开始思考如何在Maya中使用/调用库。(因为我需要从QT Designer创建一个基本的UI,并在将其转换为.py文件后在Maya中打开它)
在我学会正确地将.ui转换为.py之后,我现在在Maya 中遇到了这个错误
"python34.dll的模块使用与此版本的Python"冲突";
我试着遵循这里和这里所说的,但即使在那时,在设置了这些环境变量之后。。。
PYTHONHOME=C:\Program Files\Autodesk\Maya2016\bin\maya.exe
Python路径=C:\Python34
。。。我仍然无法运行基本的.py文件。事实上,只要PYTHONHOME变量有效,Maya中的Python就不再执行任何操作。
下面的代码是我从QT Designer中保存的.ui文件转换后得到的python文件。
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'test.ui'
#
# Created by: PyQt5 UI code generator 5.4.1
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName("Dialog")
Dialog.resize(400, 300)
self.buttonBox = QtWidgets.QDialogButtonBox(Dialog)
self.buttonBox.setGeometry(QtCore.QRect(30, 240, 341, 32))
self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok)
self.buttonBox.setObjectName("buttonBox")
self.retranslateUi(Dialog)
self.buttonBox.accepted.connect(Dialog.accept)
self.buttonBox.rejected.connect(Dialog.reject)
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):
_translate = QtCore.QCoreApplication.translate
Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
Dialog = QtWidgets.QDialog()
ui = Ui_Dialog()
ui.setupUi(Dialog)
Dialog.show()
sys.exit(app.exec_())
我遇到了一些不同的在线笔记,建议使用PySide,在尝试使用后:
from PySide.QtCore import *
from PySide.QtGui import *
我仍然无法测试这是否有效,因为显然QtWidgets不是一个模块?
我很失落。更重要的是,我只想能够从Maya的脚本编辑器中运行QT Designer创建的ui。我不知道从哪里开始学习图书馆。这里有人愿意提供一些建议吗?
附加信息:
I am using Maya 2016, running on a Windows 10 64 bit OS.
I also have a Python 2.7 in my C: drive
And I am using PyQt5-5.4.1-gpl-Py3.4-Qt5.4.1-x64
谢谢你抽出时间。
Maya的python解释器位于2.7系列中(Maya 2013及更早版本为2.6)。您的PYTHONPATH
指向的是python 3.4安装。您还需要确保,如果您的Python 3.4位于PATH
中,它会晚于maya-Python的安装位置。这一切都是为了确保Maya不会感到困惑,并尝试运行它无法处理的python 3代码或dll。
此外,maya 2016正在PyQT4上运行。Maya 2017在PyQT5上运行。因此,您可能想要使用设计器的PyQT4版本
相关:
- UIC/PyQT4示例
- 在Maya pyQT 4中使用UIC文件
- 编号:2017/QT5