Python appscript OSAX display_dialog:如何让其进入前景

0 投票
2 回答
766 浏览
提问于 2025-04-16 23:38

我在玩一个例子,来自这里;特别是我有这段代码:

from osax import *

sa = OSAX()

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

这个对话框总是打开在后台。我该怎么做才能让它在前面打开(或者移动到前面)呢?

2 个回答

0

现在这样做是可以的:

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

添加一个 activate 命令,可以让你的 Python 程序获得窗口管理器的焦点,也就是让它成为当前活动的窗口。

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

你也可以选择不让你的 Python 程序有图形界面,而是把它做成一个没有界面的后台应用,具体的做法可以参考 这里

撰写回答