【发布时间】:2017-06-25 17:26:57
【问题描述】:
我对 Python 的了解仍然很基础,我现在才开始尝试思考如何在 Maya 中使用/调用库。 (因为我需要从 QT Designer 创建一个基本的 UI,并在将其转换为 .py 文件后在 Maya 中打开它)
在学会正确地将 .ui 转换为 .py 后,我现在在 Maya 中遇到此错误
“模块使用python34.dll与此版本的Python冲突”
我尝试按照 here 和 here 所说的进行操作,但即便如此 - 在设置了这些环境变量之后...
PYTHONHOME = C:\Program Files\Autodesk\Maya2016\bin\maya.exe
PYTHONPATH = 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
感谢您的宝贵时间。
【问题讨论】:
标签: pyside python-3.4 maya pyqt5 qtwidgets