我制作了一个简单的窗口并添加了菜单和工具栏。我得到了与行动相关的功能的奇怪行为。 这是代码:
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.testAction.triggered.connect(aaaaa)
并将该函数拖到课堂外:
def aaaaa():
print('test')
并且一下子全部启动,被调用并运行......
为什么在函数是类的成员之前它不起作用?