2010-01-06 5 views
1

백그라운드에서 실행하려는 응용 프로그램을 설계하고 있습니다. 사용자 상호 작용이 필요하지 않으므로 시스템 트레이 아이콘이 보이지 않도록 앱을 실행하고 싶습니다. 아이콘에 메모장의 config/help 파일을 열어주는 메뉴가 필요합니다. 누군가가 올바른 방향으로 나를 가르키거나 모범을 보여줄 수 있습니까?wxpython 시스템 트레이 아이콘 메뉴

답변

3

이 응용 프로그램을 Windows 서비스로 실행 해 보셨습니까? 많은 사용자는 기능이 거의 없거나 전혀없는 시스템 트레이 아이콘을 고려할 것입니다. help/config 파일에 대한 링크를 시작 메뉴 항목으로 제공 할 수 있습니다.

파이썬 win32 extensions package은 파이썬 서비스를 지원해야합니다.

물론 시스템 트레이 아이콘으로 실행해야하는 이유가 있습니다. 나는 그 일에 대해 아무런 경험이 없다는 점에 유감입니다.

5

아마도이 작업을 좀 더 깔끔하게 할 수는 있지만 작업 표 아이콘의 기본 구성을 처리하는 데 자신이 클래스를 만들 수 있었던 몇 가지 샘플을 사용하고 있습니다. 당신의 프레임에이 기능을 추가 해주기

self.TrayIcon = tbi.Icon(self, wx.Icon("C:\\YourIcon.png", wx.BITMAP_TYPE_PNG), "ToolTip Help Text Here") 
self.Bind(wx.EVT_ICONIZE, self.OnIconify) 

그리고 그리고 당신은 설정해야합니다

TaskBarIcon.py하여 프레임의 초기화 (내

import wx 


ID_SHOW_OPTION = wx.NewId() 
ID_EDIT_OPTION = wx.NewId() 


class Icon(wx.TaskBarIcon): 

    def __init__(self, parent, icon, tooltip): 
     wx.TaskBarIcon.__init__(self) 
     self.SetIcon(icon, tooltip) 
     self.parent = parent 
     self.Bind(wx.EVT_TASKBAR_LEFT_DCLICK, self.OnLeftDClick) 
     self.CreateMenu() 

    def CreateMenu(self): 
     self.Bind(wx.EVT_TASKBAR_RIGHT_UP, self.OnPopup) 
     self.menu = wx.Menu() 
     self.menu.Append(ID_SHOW_OPTION, '&Show Option 1') 
     self.menu.Append(ID_EDIT_OPTION, '&Edit Option 2') 
     self.menu.AppendSeparator() 
     self.menu.Append(wx.ID_EXIT, 'E&xit') 

    def OnPopup(self, event): 
     self.PopupMenu(self.menu) 

    def OnLeftDClick(self, event): 
     if self.parent.IsIconized(): 
      self.parent.Iconize(False) 
     if not self.parent.IsShown(): 
      self.parent.Show(True) 
     self.parent.Raise() 

)는 아래 두 줄 추가 :

def OnIconify(self, event): 
    self.Hide() 

아이콘 c의 항목을 편집하는 것을 잊지 마십시오. 귀하의 요구에 맞게 숙고하십시오.

관련 문제