문제

Windows에는 MSN, Steam 등과 같은 시계 및 낡은 서비스가있는 "시스템 트레이"가 있습니다.

Wxpython 트레이 응용 프로그램을 개발하고 싶지만 이것이 다른 플랫폼에 얼마나 잘 포트 될지 궁금합니다. 각 플랫폼에서 트레이는 무엇이며 Windows, OSX 및 Linux (특히 껍질이 가장 친절한)를 지원하기 위해 얼마나 많은 수동 작업이 필요한지

도움이 되었습니까?

해결책

WX는 Win32, Mac OS X, GTK+, X11, Motif, Wince 등을 지원하는 크로스 플랫폼 GUI 및 도구 라이브러리입니다. 클래스를 사용하는 경우 응용 프로그램은 이러한 모든 플랫폼에서 작동해야합니다. 시스템 트레이의 경우 wxtaskbaricon을보십시오 (http://docs.wxwidgets.org/stable/wx_wxtaskbaricon.html#wxtaskbaricon).

다른 팁

OS X에는 상태 메뉴 표시 줄이 있습니다. 가장 올바른 항목은 종종 상태 관련 제품 (배터리 상태, WiFi 연결 등)입니다.

검색해보십시오 NSSTATUSBAR 그리고 nsmenuextra. NSSTATUSBAR 메뉴가 있고 도크에 표시되지 않는 응용 프로그램으로 바꾸는 것은 거의 사소한 일입니다. 거기 있습니다 튜토리얼 주위에 그것을하는 방법에.

많은 Linux 데스크탑 시스템 (Gnome, KDE 등)의 경우 Freedesktop 's Systray 프로토콜 구현되었습니다. 다른 솔루션이 실패하면 시도해 볼 수 있습니다.

Linux에서는 실제로 달라집니다. 거기에는 다른 프로그래밍 환경이 있으며 일부 윈도우 관리자는 트레이 영역도 없습니다. Altho, GTK를 사용하는 경우 (WX는 실제로 GTK입니다) gtk.statusicon 당신의 친구입니다.

여기 그 예제입니다 (실제로 작동하는지 확인하지 않았지만 경로를 보여 주어야합니다).

을 위한 wx 예제 코드를 찾았습니다 여기.

QT 사용 : QT Systray 예제

QT가 실행되는 모든 플랫폼에 Systray 아이콘이 표시되고 그러한 아이콘을 지원합니다. 그러나 Systray 기능이 지원되지 않을 때 전략을 세워야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top