Я пытаюсь изменить этот фрагмент кода, вызывая окно импорта, а затем следую этим кодом.Функция вызова класса не работает
Как я и собираюсь использовать текущий фрагмент кода (который не написан мной), способ, которым он работает, заключается в том, что когда пользователь выбирает один из трех префиксов ['a', 'b', 'c '], это изменит именование элементов в Maya соответственно.
Часть бывшего Coding (префикс окно):
import maya.cmds as cmds
import maya.mel as mel
import pymel.core as pm
from PyQt4 import QtGui, QtCore
import sys, os
class createUI(QtGui.QFrame):
def __init__(self, parent=None):
QtGui.QFrame.__init__(self, parent)
self.shot = SHOT
self.initUI()
self.connections()
class MainWindow(QtGui.QWidget):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.resize(400,100)
self.move(300,300)
self.setWindowTitle('Select the prefix of rexPass')
self.pubDock = createUI()
vLayout = QtGui.QVBoxLayout()
vLayout.addWidget(self.pubDock)
self.setLayout(vLayout)
self.createConnection()
def createConnection(self):
self.connect(self.pubDock.cancelButton, QtCore.SIGNAL("clicked()"), self.close)
self.connect(self.pubDock.OKButton, QtCore.SIGNAL("clicked()"), self.close)
def setupRenderGlobals():
cmds.setAttr ('StartRange.multiFrame', 1)
cmds.setAttr ('EndRange.endFrame', 200)
cmds.setAttr ('WidthRes.xres', 1920)
cmds.setAttr ('HeightRes.yres', 1080)
def main():
setupRenderGlobals()
global app
app=QtGui.qApp
global form
form = MainWindow()
form.show()
В настоящее время я хотел бы добавить на функции, где она вызывает окно выбора импортировать что-то, и после того, как выбор сделан, он будет потом вызывается вышеуказанный код.
Проблема заключается в том, где, когда пользователь нажимает кнопку импорта в окне импорта, он автоматически закрывается, а окно перфекционизма не появляется, или у меня бы появилось 2 окна или только окно префикса, а не окно импорта
Мой Coding:
class Processing():
'In-house code to call out the import window and they will have the name of 'prItems_a01''
importItems = procureItems.api.importItem()
allItems = pm.ls(type="prItems")
if allItem < 2 :
test = MainWindow()
else:
print ('testing')
Любые советы?
Привет mhlester, спасибо, я попробую это. Кстати, мой класс правильно определяется классом Processing()? Должен ли я указать что-либо в скобках? – yan
На самом деле, похоже, вы намеревались быть «def». Я не заметил. Это определенно неправильно как «класс», но нет никаких признаков того, что он должен быть одним. – mhlester
Хорошо, но я думаю, что я попробовал это раньше, предоставив его как 'def' вместо' class', он, кажется, не интерпретирует мое кодирование, и он переходит прямо в 'def main()' Будет ли это означает, что мне нужно изменить кодировку в 'def main()'? – yan