私がしようとしているのは、辞書に項目を追加し、必要に応じて2番目のボタンを入力することだけです!!! 青い再生ボタンをクリックして Maya スクリプト エディタからコードを実行すると、すべてうまくいきますが、このスクリプトをインポートすると funtest funtest.main() をインポートします
ウィンドウは正常に読み込まれますが、いずれかのボタンをクリックするとエラーが発生します...スクリプトエディターからのコードの実行とインポートによる他のコードの実行の違いはなぜですか..
それは同じである必要がありますか、それが私の論理の何が問題なのですか?
import maya.cmds as cmds
dic={}
print("dictionary is empty",dic)
def main():
inst=btnUI()
inst.create()
class btnUI(object):
def __init__(self, winName="winTheWindow"):
self.winTitle = "The Window"
self.winName = winName
def create(self):
if cmds.window(self.winName, exists=True):
cmds.deleteUI(self.winName)
dic['item1']='item1value'
dic['item2']='item2value'
cmds.window(self.winName, title=self.winTitle)
self.mainCol = cmds.columnLayout( adjustableColumn=True )
self.btnA = cmds.button( label='Press Me - External Func',c='outsideFunc(dic)' )
self.btnb = cmds.button( label='Populate more items',c='populateDic()' )
cmds.showWindow( self.winName )
cmds.window(self.winName, edit=True, widthHeight=[250,75])
def populateDic():
dic['item3']='item3value'
dic['item4']='item4value'
dic['item5']='item5value'
def outsideFunc(dicItems):
print("Outside function, called from inside a class function")
print(dicItems)
if __name__ == '__main__':
main()