이 오래된 스레드가 있습니다. Qt / C ++로 작동 지표를 어떻게 만듭니 까? 응용 프로그램의 Ubuntu에서 트레이 아이콘을 만들기 위해 QSystemTray 라이브러리를 사용하는 것이 좋습니다.
Sniqt는 나머지를 처리하는 프로그램입니다. 알려진 바와 같이 우분투는 트레이 아이콘을 제거했습니다. 대신 이제 지표와 지표 만 사용합니다. Sniqt는 Qt 트레이 아이콘을 작동 표시기로 변환합니다.
문제는 변환이 매우 적절하지 않다는 것입니다. 트레이 아이콘을 지원하는 시스템에서는 단일 클릭, 중간 클릭 등의 동작이 작동하지 않습니다.
이러한 조치를 다시 취할 수있는 방법이 있습니까? QSystemTray 아이콘을 사용해도 우분투에서 이러한 흥미롭고 (나의 경우에는 매우 도움이되는) 작업을 계속할 수 있습니까?
앞에서 이야기 한 다른 스레드 (GTK 라이브러리를 사용하여 작동 표시기를 만드는 방법 및 충돌을 방지하는 방법)에 대한 답변을 알고 기쁩니다.
Sniqt 버그 링크 : https://bugs.launchpad.net/sni-qt/+bug/1027652
답변
Qt는 신호가 ‘활성화’되어 있어도 적어도 우분투 유니티에서는이 기능을 지원하지 않는 것 같습니다. 따라서 GTK와 일반 트레이 아이콘을 사용하는 것이 좋습니다 .Qt의 대안은 없습니다. 이에 대한 설명은 Qt 개발자에게 문의하십시오.
답변
Unity는 선택에 따라 “괜찮은 트레이 아이콘”이라고 부르는 것을 지원하지 않습니다. 그것은 지표이거나 아무것도 아닙니다. 거기에서 몇 가지 옵션이 있습니다.
-
제한된 표시기 기능을 사용하십시오. 표준 QSystemTray.setContextMenu () 메소드를 사용하여 표시기에서 사용할 메뉴를 설정할 수 있습니다.
-
시스템 트레이에서 앱을 완전히 분리하십시오. 마찬가지로, 바탕 화면에 떠 다니는 아이콘으로 바꾸면 God 및 Matthias Ettrich가 의도 한대로 마우스 오른쪽 단추를 클릭 할 수 있습니다. 현재이 작업을 수행하는 방법에 대한 간단한 예를 찾을 수 있습니다 http://kde-apps.org/content/show.php/KEyes?content=51493를 선택적으로 (, 당신은 당신이 유니티에서 실행되는 것을 감지하는 경우에만이 작업을 수행, 즉 $ DESKTOP_SESSION이 ‘ubuntu’로 설정된 경우)
-
지원하지 않는 Unity 선언 이것은 좋은 옵션이 아닙니다.
옵션 1 또는 2로 갈 것인지는 주로 응용 프로그램의 기능에 달려 있습니다.