QSytemTrayIcon没有出现在ubuntu12.04中

2024-05-02 00:46:35 发布

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

我已经创建了一个使用PyQt4在后台运行的程序。系统托盘图标是在一个单独的线程中创建的,它允许我在主程序创建并放置在托盘中之后与它交互。我以前在ubuntu10.04中从未遇到过这样的问题。然而,我最近升级到了Ubuntu12.04,由于某些原因,甚至没有我想要的QSystemTrayIcon的踪迹。有人能告诉我这里到底发生了什么事吗?我已经在AskUbuntu上找到了关于我的问题的帖子,但是在数据库中似乎找不到任何与我的问题相匹配的内容。我只包含了我认为相关的代码部分,但如果需要,将提供更多信息。在

编辑:我已经修改了Ubuntu中的托盘面板白名单,并将其设置为['all'],因此我能够确定这不是一个问题。在

相关代码:

class notify(threading.Thread, QtGui.QSystemTrayIcon):
    def __init__(self, process, iconMain, iconNew, parent=None):
        threading.Thread.__init__(self)
        QtGui.QSystemTrayIcon.__init__(self, iconMain, parent)

        self.menu = QtGui.QMenu(parent)
        self.menuNew = QtGui.QMenu(parent)

        viewAdsAction = self.menu.addAction("View Ads")
        textModeAction = self.menu.addAction("Text-Mode")
        exitAction = self.menu.addAction("Exit")
        textModeActionNew = self.menuNew.addAction("PC-Mode")
        exitActionNew = self.menuNew.addAction("Exit")

        self.iconMain = iconMain
        self.iconNew = iconNew
        self.setContextMenu(self.menu)
        self.process = process
        self.textMode = False  

在main()中执行:

^{pr2}$

Tags: 代码selfinitprocessthreadparentmenuthreading
1条回答
网友
1楼 · 发布于 2024-05-02 00:46:35

我解决了我的问题,这个决议是垃圾。显然Qt和Unity不符合某些分辨率,我运行的是58x58缩放图标。我把它缩小到48x48,现在系统托盘图标是可见的,并且可以正常使用我的程序。在

相关问题 更多 >