当前位置: 首页 > 面试题库 >

快速简便:使用Python的trayicon?

仲元凯
2023-03-14
问题内容

我只需要一个简单的示例,说明如何轻松地将python图标放置在我的系统托盘上。这意味着:我运行该程序,没有窗口出现,只有一个托盘图标(我有一个png文件)出现在系统托盘中,当我右键单击它时,菜单上会显示一些选项(当我单击时,在一个选项上,将运行一个函数)。那可能吗?我根本不需要任何窗户…

示例/代码片段非常感谢!:D


问题答案:

对于Windows和Gnome

来呀!wxPython是炸弹。改编自我的Feed通知程序应用程序的源代码。

import wx

TRAY_TOOLTIP = 'System Tray Demo'
TRAY_ICON = 'icon.png'


def create_menu_item(menu, label, func):
    item = wx.MenuItem(menu, -1, label)
    menu.Bind(wx.EVT_MENU, func, id=item.GetId())
    menu.AppendItem(item)
    return item


class TaskBarIcon(wx.TaskBarIcon):
    def __init__(self):
        super(TaskBarIcon, self).__init__()
        self.set_icon(TRAY_ICON)
        self.Bind(wx.EVT_TASKBAR_LEFT_DOWN, self.on_left_down)

    def CreatePopupMenu(self):
        menu = wx.Menu()
        create_menu_item(menu, 'Say Hello', self.on_hello)
        menu.AppendSeparator()
        create_menu_item(menu, 'Exit', self.on_exit)
        return menu

    def set_icon(self, path):
        icon = wx.IconFromBitmap(wx.Bitmap(path))
        self.SetIcon(icon, TRAY_TOOLTIP)

    def on_left_down(self, event):
        print 'Tray icon was left-clicked.'

    def on_hello(self, event):
        print 'Hello, world!'

    def on_exit(self, event):
        wx.CallAfter(self.Destroy)


def main():
    app = wx.PySimpleApp()
    TaskBarIcon()
    app.MainLoop()


if __name__ == '__main__':
    main()


 类似资料:
  • 本文向大家介绍快速解决code唯一码(java)的简便方法,包括了快速解决code唯一码(java)的简便方法的使用技巧和注意事项,需要的朋友参考一下 如下所示: 解释:找数据库中的最近新增的账号 以上的方法,都比较的好用和方便。其实这些我都要百度,是同事写的,真强! 这篇快速解决code唯一码(java)的简便方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 我对python是全新的,我正在尝试在其中实现quicksort。有人能帮我完成我的代码吗? 我不知道如何连接这三个数组并打印它们。

  • 问题内容: 已关闭 。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗? 更新问题,使其仅通过编辑此帖子来关注一个问题。 2个月前关闭。 有谁知道将SQLite3数据库迁移到MySQL的快速简便方法? 问题答案: 以下是转换器的列表(自2011年以来未更新): https://www2.sqlite.org/cvstrac/wiki?p=ConverterTools(或archive.o

  • 本文向大家介绍使用python实现快速搭建简易的FTP服务器,包括了使用python实现快速搭建简易的FTP服务器的使用技巧和注意事项,需要的朋友参考一下 上回说到,使用python搭建一个简易的web下载服务器,但是这个简易的服务器客户端不能够上传文件。这次来搭建一个简易的ftp服务器,来提供文件的下载和上传功能。 一、首先我们来安装提供服务的pyftpdlib模块 pip install py

  • 本文向大家介绍Python实现快速排序算法及去重的快速排序的简单示例,包括了Python实现快速排序算法及去重的快速排序的简单示例的使用技巧和注意事项,需要的朋友参考一下 快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用。 该方法的基本思想是: 1.先从数列中取出一个数作为基准数。 2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。

  • Python包含的内容很多,加上各种标准库、拓展库,乱花渐欲迷人眼。我一直希望写一个快速的、容易上手的Python教程,而且言语简洁,循序渐进,让没有背景的读者也可以从基础开始学习。我将在每一篇中专注于一个小的概念,希望在闲暇时可以很快读完。 基于 Python 3.5。 小提醒 教程基于Python 2.7,测试环境为Linux。我会提醒Python 3中有变化的地方。 标准库的一些包不适用于W