在MacOSX,Windows和Linux(Gnome)和python上的GTK中的状态图标
发布时间:2020-12-14 02:15:51 所属栏目:Windows 来源:网络整理
导读:我正在使用 python开发一个应用程序,它将在 Windows MacOsX和 Linux中使用,现在我正在Mac OSX栏中开发系统(状态图标)图标(以及单击时的菜单). 我可以在windows,mac和linux中使用PyGTK,并在状态栏(macosx),系统托盘(windows)或linux中使用相同的代码来显示状
我正在使用
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_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_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 <joao.pinto@getdeb.net>']) about_dialog.run() about_dialog.destroy() if __name__ == "__main__": SystrayIconApp() gtk.main() 这是MAC OS X中的de tray(来自gtk的明星): 这是WINDOWS中的托盘(来自gtk的明星): 在Windows上没有问题,单击图标时菜单可见,但在Mac OX中,显示icos但不显示菜单. 代码有什么问题? 解决方法
简答:是的!
Qt管理所有兼容操作系统中的状态图标集成. 您只需使用QSystemTrayIcon类即可.
有关Qt Documentation的更多信息. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 清除Windows系统里未知的自启动程序
- windows-8 – 如何将metro应用程序部署到Windows 8设备/平板
- 在Windows上的Ubuntu上复制Bash中的粘贴
- windows-phone-7 – 在Windows Phone 8上测试.xap,无需注册
- windows – 如何使用写入地址捕获内存写入和调用函数
- windows – 如何在每天的某个时间自动打开网站
- Microsoft .NET Framework多个远程代码执行漏洞(MS09-061)
- untagged – 用于监控Windows网络环境的软件(变更控制)
- .net – Windows窗体的十六进制编辑器控件?
- windows-7 – 如何通过LAN将桌面共享给多个观看者
推荐文章
站长推荐
热点阅读