python的linux电脑上图标_在MacOSX,Windows和Linux(Gnome)和python上的GTK中的状态图标

这篇博客讨论了如何使用PyGTK在Windows、MacOSX和Linux上创建一个跨平台的应用程序,该程序包含系统状态图标并能在图标上显示右键菜单。在Windows上运行正常,但在MacOSX上遇到问题,点击图标时不显示菜单。代码示例展示了如何设置图标和响应右键点击事件,但似乎在MacOSX上的实现存在兼容性问题。
摘要由CSDN通过智能技术生成

我正在使用

python开发一个应用程序,它将在

Windows MacOsX和

Linux中使用,现在我正在Mac OSX栏中开发系统(状态图标)图标(以及单击时的菜单).

我可以在windows,mac和linux中使用PyGTK,并在状态栏(macosx),系统托盘(windows)或linux中使用相同的代码来显示状态图标吗?

提前致谢.

这是代码:

import gtk

class SystrayIconApp:

def __init__(self):

self.tray = gtk.StatusIcon()

self.tray.set_from_stock(gtk.STOCK_ABOUT)

self.tray.connect('popup-menu', self.on_right_click)

self.tray.set_tooltip(('Sample tray app'))

def on_right_click(self, icon, event_button, event_time):

self.make_menu(event_button, event_time)

def make_menu(self, event_button, event_time):

menu = gtk.Menu()

# show about dialog

about = gtk.MenuItem("About")

about.show()

menu.append(about)

about.connect('activate', self.show_about_dialog)

# add quit item

quit = gtk.MenuItem("Quit")

quit.show()

menu.append(quit)

quit.connect('activate', gtk.main_quit)

menu.popup(None, None, gtk.status_icon_position_menu,

event_button, event_time, self.tray)

def show_about_dialog(self, widget):

about_dialog = gtk.AboutDialog()

about_dialog.set_destroy_with_parent (True)

about_dialog.set_icon_name ("SystrayIcon")

about_dialog.set_name('SystrayIcon')

about_dialog.set_version('0.1')

about_dialog.set_copyright("(C) 2010 João Pinto")

about_dialog.set_comments(("Program to demonstrate a system tray icon"))

about_dialog.set_authors(['João Pinto '])

about_dialog.run()

about_dialog.destroy()

if __name__ == "__main__":

SystrayIconApp()

gtk.main()

这是MAC OS X中的de tray(来自gtk的明星):

这是WINDOWS中的托盘(来自gtk的明星):

在Windows上没有问题,单击图标时菜单可见,但在Mac OX中,显示icos但不显示菜单.

代码有什么问题?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值