Python GTK托盘子菜单图标

2024-05-29 09:53:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我不是用python编程的,所以这个问题。在另一个帖子的帮助下,我可以把这个托盘菜单放在一起,工作正常。你知道吗

如何为子菜单项(appstore、control center等)设置图标?你知道吗

谢谢

#!/usr/bin/python
import os
from gi.repository import Gtk as gtk, AppIndicator3 as appindicator

def main():
  indicator = appindicator.Indicator.new("customtray", "/home/unix/Bin/share/preferences/preferences.03.png", appindicator.IndicatorCategory.APPLICATION_STATUS)
  indicator.set_status(appindicator.IndicatorStatus.ACTIVE)
  indicator.set_menu(menu())
  gtk.main()

def menu():
  menu = gtk.Menu()

  appstore = gtk.MenuItem('AppStore')
  appstore.connect('activate', appStore)
  menu.append(appstore)

  controlcenter = gtk.MenuItem('Control Center')
  controlcenter.connect('activate', CtrlCenter)
  menu.append(controlcenter)

  Separator = gtk.SeparatorMenuItem()
  menu.append(Separator)

  exittray = gtk.MenuItem('Quit')
  exittray.connect('activate', quit)
  menu.append(exittray)

  menu.show_all()
  return menu

def appStore(_):
  os.system("deepin-appstore %U")

def CtrlCenter(_):
  os.system("dbus-send --print-reply --dest=com.deepin.dde.ControlCenter /com/deepin/dde/ControlCenter com.deepin.dde.ControlCenter.Show")

def quit(_):
  gtk.main_quit()

if __name__ == "__main__":
  main()

Tags: gtkosmaindefconnectindicatormenuactivate
1条回答
网友
1楼 · 发布于 2024-05-29 09:53:09

解决了。问题是gtk配置:设置总是显示图像(True)

controlcenter = gtk.ImageMenuItem.new_with_label('Control Center')
controlcenter.set_image(gtk.Image.new_from_file('/home/unix/Bin/share/ddefm.png')) controlcenter.connect('activate', CtrlCenter)
controlcenter.set_always_show_image(True) menu.append(controlcenter)

相关问题 更多 >

    热门问题