if sys.version_info[:2] < (2, 5): def partial(func, arg): def callme(): return func(arg) return callme else: from functools import partial def createRigAssetGrp(self): rigAssetGrp = CustomAssetInfoGrp( pathImg = '%s/mailImgs/projectAsset/mail_projectTabAssetRigPath.png'% Config.IMGFOLDER, \ instructImg = '%s/mailImgs/projectAsset/mail_projectTabAssetRigNote.png'% Config.IMGFOLDER, \ parent = self.frame) addFunction = partial(SlotActions.on_addBtn_released, self.createRigAssetGrp, Config.rigAssetVLayout, rigAssetGrp) #实现点击这个按钮,就创建一个和自身类型相同的控件 QObject.connect(rigAssetGrp.pathLineEdit.add, SIGNAL('released()'), addFunction) #slotAction.py @staticmethod def on_addBtn_released(func, layout, widget): elem = func() index = layout.indexOf(widget) layout.insertWidget(index+1, elem) |
|