python中的AppIndicator3需要很长时间才能显示出来叉子()

2024-06-16 12:49:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写一个应用程序,它在python中有一个appindicator。它基本上可以正常工作,但是现在我想分叉执行,这样应用程序就会“在托盘中”启动并释放控制台。问题是在应用程序分叉后,指示器显示app大约需要10到15秒。下面是一些再现问题的简约示例代码:

from gi.repository import Gtk as gtk
from gi.repository import AppIndicator3 as appindicator
import os
import sys

def run_in_background():
    pid = os.fork()
    if pid != 0:
        sys.exit(0)

def main():
    indicator = appindicator.Indicator.new('an_indicator', gtk.STOCK_INFO, appindicator.IndicatorCategory.SYSTEM_SERVICES)
    indicator.set_status(appindicator.IndicatorStatus.ACTIVE)
    m = gtk.Menu()
    indicator.set_menu(m)
    gtk.main()

run_in_background()

if __name__ == "__main__":
    main()

如果我删除“run\u in\u background()”,指示器会立即显示,但如果我引入它,则需要10到15秒才能显示。你知道吗

有办法解决这个问题吗?为什么叉子后面的指示灯要花这么长时间?你知道吗


Tags: runinfromimport应用程序gtkosmain