这里直贴一下码,关于PySide我要去Python里去学一下,关于Qt Designer。。。看了一下这个下载下来安装包好像有1.4G。。
太大了。。。就算了吧
from PySide import QtGui
import MaxPlus
class _GCProtector(object):
widgets = []
def make_cylinder():
obj = MaxPlus.Factory.CreateGeomObject(MaxPlus.ClassIds.Cylinder)
obj.ParameterBlock.Radius.Value = 10.0
obj.ParameterBlock.Height.Value = 30.0
node = MaxPlus.Factory.CreateNode(obj)
time = MaxPlus.Core.GetCurrentTime()
MaxPlus.ViewportManager.RedrawViews(time)
return
app = QtGui.QApplication.instance()
if not app:
print "AAAAAA"
app = QtGui.QApplication([])
def main():
MaxPlus.FileManager.Reset(True)
w = QtGui.QWidget(MaxPlus.GetQMaxWindow())
_GCProtector.widgets.append(w)
w.resize(250, 100)
w.setWindowTitle('PySide Qt Window')
main_layout = QtGui.QVBoxLayout()
label = QtGui.QLabel("Click Button to Create a Cylinder in the scene")
main_layout.addWidget(label)
cylinder_btn = QtGui.QPushButton("Cylinder")
cylinder_btn.clicked.connect(make_cylinder)
main_layout.addWidget(cylinder_btn)
textEdit = QtGui.QLineEdit()
textEdit.setText("Edit Text")
main_layout.addWidget(textEdit)
w.setLayout(main_layout)
w.show()
if __name__ == "__main__":
main()
关于Qt的使用
import pysideuic
from PySide import QtCore, QtGui
#~ fname = "scripts/python/test_ui.ui"
fname = 'D:/Program Files/Autodesk/3ds Max 2017/scripts/Python/test_ui.ui'
formt, btype = MaxPlus.LoadUiType(fname)
class TestWidget(btype, formt):
def __init__(self, parent=None):
btype.__init__(self)
formt.__init__(self)
self.setupUi(self)
form = TestWidget()
form.show()