当我将应用程序设置为登录后启动时,PyQt SystemTrayIcon不会显示

2024-09-30 20:27:50 发布

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

我有一个控制我的教士的应用程序。它基本上会检查守护者是否已经在运行,如果是,它会给出关闭的选项,如果没有,它会提供关闭的选项,还提供了一个日志,并且所有内容都在从QSystemTrayIcon打开的菜单上。当我运行它时,它运行得非常好,但是当我设置它在我登录后自动运行时,它运行,但是trayicon没有显示,你甚至可以看到带有“ps aux”的进程。我运行的是Ubuntu 12.04。在

    #!/usr/bin/env python

    import sys
    from PyQt4 import QtGui
    from PyQt4 import QtCore
    from subprocess import call
    from subprocess import Popen
    import os
    import time

类系统TrayIcon(QtGui.QSystemTrayIcon)公司名称:

^{pr2}$

def():

pid = str(os.getpid())
pidDir = "/tmp/daemonMenu.pid"
if os.path.isfile(pidDir):
    pidFile = open(pidDir,"r")
    pidLine = pidFile.readline()
    call(["kill", "%s" %(pidLine)])
    os.remove(pidDir)
file(pidDir, 'w+').write(pid)

如果名称='main':

main()
app = QtGui.QApplication(sys.argv)
trayIcon = SystemTrayIcon()
trayIcon.show()

sys.exit(app.exec_())

Tags: fromimport名称os选项syscallpid
1条回答
网友
1楼 · 发布于 2024-09-30 20:27:50

我也有同样的问题。我做了剧本开始.sh在启动时,系统启动这个脚本。在启动应用程序前10秒添加脚本延迟。这个脚本是这样的:

sleep 10
./main.py

相关问题 更多 >