`
fly_hyp
  • 浏览: 309672 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

python system tray icon

阅读更多

python system tray icon

 

一个简单的,一个完整的。

     1  #!/usr/bin/env python
     2  #-*- encoding:utf-8 -*-
     3
     4  import gtk
     5
     6  def on_activate(data):
     7          print 'active'
     8
     9  def on_popup_menu(status, button, time):
    10          print 'popup menu'
    11
    12  tr=gtk.StatusIcon()
    13  tr.set_from_file("1.gif")
    14  tr.set_tooltip('test tray in python')
    15  tr.set_visible(True)
    16  tr.connect('activate', on_activate)
    17  tr.connect('popup-menu', on_popup_menu)
    18
    19  gtk.main()

     ====================


     1  #!/usr/bin/env python
     2  #-*- encoding:utf-8 -*-
     3
     4  import os
     5  import gtk
     6
     7  class MyStatusIcon(gtk.StatusIcon):
     8          def __init__(self):
     9                  gtk.StatusIcon.__init__(self)
    10                  menu = '''
    11                          <ui>
    12                           <menubar name="Menubar">
    13                            <menu action="Menu">
    14                             <menuitem action="action1"/>
    15                             <menuitem action="action2"/>
    16                             <separator/>
    17                             <menuitem action="About"/>
    18                             <separator/>
    19                             <menuitem action="Quit"/>
    20                            </menu>
    21                           </menubar>
    22                          </ui>
    23                  '''
    24                  actions = [
    25                          ('Menu',  None, 'Menu'),
    26                          ('action1', None, 'action1', None, 'action1 for test', self.on_action),
    27                          ('action2', None, 'action2', None, 'action2 for test', self.on_action),
    28                          ('About', gtk.STOCK_ABOUT, 'About', None, 'About', self.on_about),
    29                          ('Quit', gtk.STOCK_QUIT, 'Quit', None, 'Quit', self.on_quit)
    30                  ]
    31
    32                  ag = gtk.ActionGroup('Actions')
    33                  ag.add_actions(actions)
    34                  self.manager = gtk.UIManager()
    35                  self.manager.insert_action_group(ag, 0)
    36                  self.manager.add_ui_from_string(menu)
    37                  self.menu = self.manager.get_widget('/Menubar/Menu/About').props.parent
    38                  self.set_from_file('1.gif')
    39                  self.set_tooltip('kf701 python tray use gtk statusicon')
    40                  self.set_visible(True)
    41                  self.connect('activate', self.on_activate)
    42                  self.connect('popup-menu', self.on_popup_menu)
    43
    44          def on_activate(self, data):
    45                  print 'on_activate'
    46
    47          def on_popup_menu(self, status, button, time):
    48                  self.menu.popup(None, None, None, button, time)
    49
    50          def on_action(self, data):
    51                  print 'on_action'
    52
    53          def on_about(self, data):
    54                  dialog = gtk.AboutDialog()
    55                  dialog.set_name('kf701 python tray test')
    56                  dialog.set_version('0.1')
    57                  dialog.set_comments('Use gtk statusicon in python')
    58                  dialog.set_website('http://kf701.cublog.cn')
    59                  dialog.run()
    60                  dialog.destroy()
    61
    62          def on_quit(self, data):
    63                  print 'Exit'
    64                  gtk.main_quit()
    65
    66  if __name__ == '__main__':
    67          MyStatusIcon()
    68          gtk.main()

分享到:
评论

相关推荐

    python+PyQT实现系统桌面时钟

    1. **初始化系统托盘图标**:首先创建`SystemTrayIcon`类继承自`QSystemTrayIcon`。在构造函数中,设置主窗口、图标,并连接信号与槽。 - 设置图标:`setIcon(QIcon("heart.svg"))`,其中`heart.svg`为图标文件路径...

    基于QT5的系统状态栏托盘图标Demo程序,适用于UOS、Windows等.zip

    基于QT5的系统状态栏托盘图标Demo程序,适用于UOS、Windows等,Qt system tray icon demo. 软件开发设计:PHP、QT、应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发...

    获得ip地址/剪贴板操作/系统托盘图标实现代码

    在Windows编程中,这通常涉及到对`SystemTrayIcon`类的使用(如Python的`pytray`库),或者直接调用Windows API函数。例如,使用`pytray`创建一个系统托盘图标: ```python from pytray import TrayIcon def on...

    eric5-5.3.1

    in the system tray, which contains a context menu to start eric5 and all it's utilities. Double clicking this icon starts the eric5 IDE. Autocompletion/Calltips eric5 provides an interface to ...

    教你怎么样把程序最小化到托盘

    在Windows中,托盘程序通常使用一个名为“System Tray”的区域,也称为通知区域。当用户点击程序窗口的最小化按钮时,程序并不完全关闭,而是将其窗口隐藏,并在托盘区显示一个图标,以便用户随时可以恢复或关闭程序...

    volctl:针对Linux桌面的按应用程序的音量控制和OSD

    Volctl 针对Linux桌面的按应用程序的音量控制和OSD。 我找不到一个简单的任务栏图标,该图标可以从任务栏轻松控制多个应用程序。... $ python -m venv --system-site-packages venv$ ./setup.py develop$ v

    好用的png图标 可以作为系统托盘

    例如,使用C#的.NET Framework时,可以利用`System.Drawing.Icon`类加载PNG图标,而在Python中,可以使用`PyQt`或`wxPython`等GUI库来处理PNG图标。 在设计和使用PNG图标时,需要注意几个要点:保持图标风格一致,...

Global site tag (gtag.js) - Google Analytics