Python 类调用函数不工作

Python 类调用函数不工作,python,class,maya,calling-convention,Python,Class,Maya,Calling Convention,我试图通过调用一个导入窗口来修改这段代码,然后再调用这段代码 由于我还将使用不是我编写的当前代码,它的工作方式是,当用户选择3个前缀['a'、'b'、'c']中的一个时,它将相应地更改Maya中项目的命名 前一个编码前缀窗口的一部分: import maya.cmds as cmds import maya.mel as mel import pymel.core as pm from PyQt4 import QtGui, QtCore import sys, os class create

我试图通过调用一个导入窗口来修改这段代码,然后再调用这段代码

由于我还将使用不是我编写的当前代码,它的工作方式是,当用户选择3个前缀['a'、'b'、'c']中的一个时,它将相应地更改Maya中项目的命名

前一个编码前缀窗口的一部分:

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()
目前我想添加一个函数,它调用一个选择窗口来导入一些东西,一旦选择完成,它就会调用上面的代码

我遇到的问题是,当用户点击导入窗口中的导入按钮时,它会自动关闭,perfix窗口不会显示,或者我会显示两个窗口,或者只是前缀窗口而不是导入窗口

我的编码:

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')
有什么建议吗?

问题在于:

如果allItem<2: 测试=主窗口 其他: 打印“测试”

allItems = pm.ls(type="prItems")

if allItem < 2 :
    test = MainWindow()

嗨,mhlester,谢谢,我会试试的。顺便问一下,我的类是否被正确定义为类处理?我是否需要在括号内说明任何内容?实际上,看起来您打算将其作为def。我没有注意到。它作为一个类肯定是错误的,但没有迹象表明它应该是一个。好吧,但我想我以前试过一次,把它作为一个def而不是类,它似乎没有解释我的编码,它直接跳入def main。这意味着我必须更改def main中的编码吗?你在混合制表符和空格。只使用空格,看看是否可以修复它。Python对某些代码块中的内容的解释与您的不同
def processing():
    # ~~ your code ~~ #
    if len(allItem) < 2:
        test = MainWindow()
    else:
        print ('testing')