Ich bin der neu ernannte Anwendungsbetreuer für ein Programm namens "xlog". Das Programm funktioniert in allen Umgebungen außer der Unity-Umgebung einwandfrei. Es wird mit Gtk2 geschrieben.
Ich habe Unity noch nie benutzt. In Unity ist mir aufgefallen, dass die Menüleiste an einen anderen Ort außerhalb der Benutzeroberfläche meiner Anwendung "umgeleitet" zu werden scheint, nämlich in eine Leiste am oberen Bildschirmrand. Zweitens wird eines der Texteingabefelder in meiner Benutzeroberfläche als dünne Linie angezeigt, auf die der Benutzer nur über die Tabulatortaste zugreifen kann.
Wenn ich die ausführbare Datei xlog nehme, die unter Ubuntu 12.04.2 LTS einwandfrei funktioniert, und sie auf eine 12.10 Unity-Distribution kopiere, sehe ich das unterschiedliche Verhalten.
Ich habe keine Ahnung, wo ich suchen oder was ich in der xlog-Anwendung ändern sollte, um diese Situation zu beheben. Was ist in Unity anders als in allen anderen Umgebungen, in denen diese Anwendung ordnungsgemäß funktioniert?
img
. Ein Pop-In sollte angezeigt werden. Folgen Sie den Anweisungen.Antworten:
Ich denke, was Sie meinen, ist das Standardverhalten von Unity. Unity verwendet ein globales Menü (das oben angezeigte), das dem unter OSX ähnelt.
Wenn Sie möchten, kann dies in Ihrer Anwendung deaktiviert werden, aber ich denke, das ist nicht sehr empfehlenswert: Jeder, der Unity verwendet, erwartet das Menü nicht im Fenster, sondern oben.
In Bezug auf das Eingabefeld würde ich vermuten, dass es ein Problem mit dem Ubuntu-Thema sein kann. Um dies zu überprüfen, versuchen Sie, das Ubuntu-Thema zu ändern (unter "Systemeinstellungen" -> "Darstellung") und prüfen Sie, ob die Box gleich bleibt.
Bearbeiten
Ich war neugierig und schaute auf den Code, es scheint, dass das Problem in Ihrer Anwendung liegt. Dies scheint das Problem zu beheben (ich kann in diesem Feld keinen Zeilenumbruch eingeben, aber ich kann nicht sagen, ob dies normal ist oder ein Fehler vorliegt). Diese Werte (100, 200) wurden zufällig ausgewählt, sodass dies möglicherweise nicht der beste Weg ist, dies zu lösen.
quelle