擅长:python、mysql、java
<p>打开面板的正确方法是:</p>
<pre><code>@objc.IBAction
def showOpenPanel_(self, sender):
panel = NSOpenPanel.openPanel()
panel.setCanChooseFiles_(False)
panel.setCanChooseDirectories_(True)
NSLog(u'Starting openPanel')
panel.beginForDirectory_file_types_modelessDelegate_didEndSelector_contextInfo_(
self.defaults.objectForKey_(u'projpath'), #forDirectory
None, #file
None, #types
self, #modelessDelegate
'openPanelDidEnd:returnCode:contextInfo:', #didEndSelector
None) #contextInfo
NSLog(u'openPanel started')
</code></pre>
<p>Dan的代码也可以工作,但是我的变体稍微清晰一些:您不传递实际的方法,而是传递应该调用的方法的名称。在</p>