设为首页 收藏本站
查看: 548|回复: 0

[经验分享] python system tray icon

[复制链接]

尚未签到

发表于 2017-4-25 06:13:42 | 显示全部楼层 |阅读模式
  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()

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-368756-1-1.html 上篇帖子: python中的编码问题 下篇帖子: The History of Python
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表