簡単なウィンドウを作成し、メニューとツールバーを追加しました。そして、アクションに接続された関数の奇妙な動作を取得しました。コードは次のとおりです。
import os
import sys
import sip
import maya.OpenMayaUI as mui
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4 import uic
#----------------------------------------------------------------------
def getMayaWindow():
    ptr = mui.MQtUtil.mainWindow()
    return sip.wrapinstance(long(ptr), QObject)
#----------------------------------------------------------------------
class MainForm(QMainWindow):
    def __init__(self):
        super(MainForm, self).__init__(getMayaWindow())
        self.setGeometry(50,50,600,600)
        mdiArea = QMdiArea()
        self.setCentralWidget(mdiArea)
        self.testAction = QAction(QIcon('ico.png'), '&Test', self)        
        self.testAction.triggered.connect(self.aaaaa)
        self.menubar = self.menuBar()
        fileMenu = self.menubar.addMenu('&File')
        fileMenu.addAction(self.testAction)
        self.toolbar = self.addToolBar('Exit')
        self.toolbar.addAction(self.testAction)
        self.statusBar()
    def aaaaa(self):
        print('test')
#----------------------------------------------------------------------
# window
def cacheWnd():
    wnd = MainForm()
    wnd.show()
cacheWnd()
メニューまたはツールバー アイコンを押しても、関連する関数は呼び出されません。ただし、クラス外でグローバル関数を作成し、self なしで呼び出しを行う必要があります。これにより、すべてがすぐに機能し始めます。
私は行を修正します:
self.testAction.triggered.connect(aaaaa)
関数をクラスの外にドラッグします。
def aaaaa():
    print('test')
一斉に開始され、呼び出されて実行されます...
関数がクラスのメンバーになるまで機能しないのはなぜですか?