Python 类调用函数不工作
我试图通过调用一个导入窗口来修改这段代码,然后再调用这段代码 由于我还将使用不是我编写的当前代码,它的工作方式是,当用户选择3个前缀['a'、'b'、'c']中的一个时,它将相应地更改Maya中项目的命名 前一个编码前缀窗口的一部分: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
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')