2011-08-15 14 views
0

예를 들어 here에서 놀고 있습니다. 특히 이 코드를 가지고 :Python appscript OSAX display_dialog : 전경으로 이동하는 방법

from osax import * 

sa = OSAX() 

print sa.display_dialog("Python says hello!", 
         buttons=["Hi!", "Howdy!", "Duuuude!"], 
         default_button=3) 

대화 상자는 항상 백그라운드에서 열립니다. 포 그라운드에서 열거 나 이동시킬 수있는 방법은 무엇입니까?

답변

1

는 파이썬 과정을 창 관리자 응용 프로그램에 포커스를 위해 activate 명령을 추가합니다. 또한 선택할 수 있습니다

sa = OSAX() 
sa.activate() 
print sa.display_dialog(...) 

here을 설명 익명의 배경 응용 프로그램을 대상으로 파이썬 프로세스를 GUIfy하지합니다.

+0

이 기능은 10.10에서 더 이상 작동하지 않습니다. 포 그라운드 앱으로 승격되지 않았기 때문에 파이썬 앱이 활성화되지 않습니다. 그러면 'display_dialog'가 백그라운드에서 실행됩니다. 그러나'OSAX()'나'ScriptingAddition()'을 시스템 이벤트 (또는 당신이 선택한 다른 앱)로 타겟팅하는 것은 효과적입니다. 자세한 내용은 http://appscript.sourceforge.net/py-appscript/doc/osax-manual/04_notes.html을 참조하십시오. –

0

이 지금은 작동합니다

def go_foreground(): 
    from AppKit import NSApp, NSApplication 
    NSApplication.sharedApplication() 
    NSApp().activateIgnoringOtherApps_(True) 
go_foreground()