我有一个由第二个 WindowController 控制的对话框的辅助窗口(工作表)。出于某种原因,在显示工作表后,这些操作永远不会在 NSObject 子类中调用。我已经确认并重新链接了这些操作。代码运行到 runModalForWindow_ 但随后从未收到 ok 或 cancel 操作。所以这张纸永远不会消失。我在这里想念什么?我似乎无法在他们的网站上找到任何执行 runModalForWindow_ 的 pyobjc 示例...
@objc.IBAction
def okSelected(self, sender):
self.dialogResult = objc.YES
NSLog("OK")
#NSApp.endSheet_(self.newTurnWindowOutlet)
NSApp.stopModalWithCode_(objc.OK)
@objc.IBAction
def cancelSelected(self, sender):
self.dialogResult = objc.NO
#NSApp.endSheet_(self.newTurnWindowOutlet)
NSApp.stopModalWithCode_(objc.NO)
def runSheet(self, parent):
NSApp.beginSheet_modalForWindow_modalDelegate_didEndSelector_contextInfo_(
self.newTurnWindowOutlet, parent, None,
self.sheetDidEnd_returnCode_contextInfo_, None)
NSLog("runModelForWindow")
result = NSApp.runModalForWindow_(self.newTurnWindowOutlet)
NSLog(str(result))
NSApp.endSheet_(self.newTurnWindowOutlet)
self.newTurnWindowOutlet.orderOut_(self)
return self.dialogResult