Machen Sie Sniqt erkennen Sie alle Fachfähigkeiten (oder erstellen Sie einen funktionierenden Indikator in Qt)

9

Da ist dieser alte Thread von mir: How Erstelle ich einen Arbeitsindikator mit Qt / C ++? , wo ich vorgeschlagen wurde, die QSystemTray-Bibliothek zu verwenden, um in Ubuntu ein Taskleistensymbol für meine Anwendung zu erstellen.

Sniqt ist ein Programm, das sich um den Rest kümmert. Wie bekannt, hat Ubuntu Tray-Icons losgeworden. Stattdessen werden jetzt Indikatoren und nur Indikatoren verwendet. Sniqt konvertiert die Qt-Taskleistensymbole in Arbeitsindikatoren.

Das Problem ist, dass es keine sehr anständige Konvertierung macht. Aktionen wie Einzelklick, mittlerer Klick usw. funktionieren nicht, während sie in Systemen funktionieren, die Taskleistensymbole unterstützen.

Gibt es eine Möglichkeit, diese Aktionen zurück zu haben? Kann ich das QSystemTray-Symbol verwenden und diese interessanten (und in meinem Fall sehr hilfreichen) Aktionen in Ubuntu beibehalten?

Ich wäre froh, die Antwort auf den anderen Thread zu kennen, über den ich schon gesprochen habe (wie man einen Arbeitsindikator mit den GTK-Bibliotheken erstellt und den Absturz verhindert).

Link für Sniqt-Fehler: Link

    
hytromo 01.12.2012, 17:35

2 Antworten

0

Es scheint, dass Qt dieses Ding zumindest auf Ubuntu Unity nicht unterstützt, auch wenn es ein Signal "aktiviert" hat. Also würde ich Ihnen empfehlen, GTK und ein normales Trayicon zu verwenden, ich sehe keine Alternative zu Qt. Sie können sich an die Entwickler von Qt wenden, um dies zu klären.

    
Ceppo93 09.12.2012, 18:05
1

Unity unterstützt nach Ihrer Wahl nicht das, was Sie als "anständige Taskleistensymbole" bezeichnen. Es ist Indikatoren oder nichts. Von dort haben Sie mehrere Möglichkeiten:

  • Machen Sie sich mit den eingeschränkten Indikatorfunktionen zufrieden. Sie können das von Ihrem Indikator verwendete Menü mit der Standardmethode QSystemTray.setContextMenu () festlegen.

  • Trennen Sie Ihre App vollständig vom Systray. Wie in, verwandeln Sie es in ein schwebendes Symbol auf dem Desktop, das in der Lage ist, mittlere und rechte Klicks zu akzeptieren, wie es Gott und Matthias Ettrich beabsichtigten. Ein einfaches Beispiel dafür finden Sie hier: link (Optional, do dies nur, wenn Sie feststellen, dass Sie unter Unity arbeiten, dh wenn $ DESKTOP_SESSION auf 'ubuntu' eingestellt ist.)

  • Deklarieren Sie Unity nicht unterstützt. Dies ist keine sehr gute Option.

Ob Sie mit Option 1 oder 2 gehen wollen, hängt hauptsächlich davon ab, was Ihre Anwendung tut.

    
Balinares 05.08.2014 11:31