Entwickeln von Unity-kompatiblen Apps in Python - wo soll ich anfangen?


16

Ich bin ein erfahrener Programmierer, der an der Entwicklung von Apps für Linux, insbesondere für GTK, und speziell für Unity-kompatible Apps interessiert ist. Abgesehen von dem offensichtlichen Schritt des Lernens von Python, was ist der beste Weg, um Dinge zu lernen wie:

  • Wie entwickelt man eine GUI-Oberfläche (wahrscheinlich mit Glade)? Gibt es gute Glade2-Tutorials?
  • Wo befinden sich die Unity-spezifischen API-Aufrufe? (z. B. Einfügen eines Benachrichtigungssymbols in das obere Bedienfeld und Verwenden von "Abzeichen" in den Startsymbolen ( Anzahl der Nachrichten von a la Unity Mail ).

Gibt es auch gute Python-IDEs, die Xcode oder Visual Studio ähneln, in denen Sie Ihre Benutzeroberfläche entwerfen und dann auf Schaltflächen und Widgets doppelklicken können, um den Code mit ihnen zu verknüpfen?

Vielen Dank für jede Hilfe.


1
Sie sollten die IDE-Frage separat stellen (suchen Sie jedoch zuerst nach anderen Fragen, da bereits zahlreiche Fragen zu IDEs vorliegen). Vielleicht stellen Sie auch separate Fragen für Indikatoren und Abzeichen.
dv3500ea

Antworten:


10

Gute Frage.

Erstens sind die Indikatoren in keiner Weise einheitenspezifisch. Eigentlich laufen sie genauso gut unter Xfce oder KDE. Es ist sehr, sehr einfach zu bedienen. Sie erstellen ein Anzeigeobjekt, legen den Namen der Symbole fest, die verwendet werden sollen, wenn Aufmerksamkeit erforderlich ist, usw., und fügen einfach Menüs hinzu. Die Anzeigen werden dann über dbus gesendet und in einer für die aktuelle Desktop-Umgebung geeigneten Weise richtig angezeigt. In Unity, Gnome Shell, Xfce und LXDE wird es als GTK-Menü und in KDE als Qt-Menü usw. angezeigt. Sehr ordentlich. Weitere Informationen dazu finden Sie hier: http://unity.ubuntu.com/projects/appindicators/

Im rechten Bereich von Glade befindet sich unter Eigenschaften eine Seite Signale. Hier können Sie einfach den Namen der Methode eingeben, die als Handler für dieses Signal verwendet werden soll. In Ihrem Code erstellen Sie einfach ein gtk.Builder-Objekt, laden das von Glade erzeugte XML und verwenden die Methode gtk.Builder.connect_signals, um alle Ihre Signale mit ihren Methoden zu verbinden. Dies bedeutet, dass Sie Glade-Benutzeroberflächen in nahezu jeder Programmiersprache verwenden können. Da dies so einfach ist und die Sprachen von Natur aus unterschiedlich sind, ist es wenig sinnvoll, Glade selbst mit Codierung zu versehen. Für die Codierung von Python (und anderen Sprachen) empfehle ich einen Blick auf Geany ( http://apt.ubuntu.com/p/geany ). Es ist ein sehr guter Editor / IDE.

Andere Dinge in Unity sind so neu, dass es nur wenige Dokumentationen gibt, außer als Codebeispiele. Einige der APIs werden gerade erst stabil, beispielsweise für Scopes und Lenses, die vor einiger Zeit noch nicht so genannt wurden. Als Anfänger würde ich ein bisschen warten, bevor ich mich mit diesen Dingen beschäftige.

Die Einträge im Launcher werden im Code eigentlich nur als LauncherEntry bezeichnet. Sie können eine Fortschrittsanzeige, einen Zähler und QuickLists verwenden. Ich habe das selbst noch nicht codiert, aber diese Seite enthält ein Beispiel und es scheint sehr einfach zu sein, wie der Rest der Unity-APIs: http://bazaar.launchpad.net/~unity-team/libunity/trunk/view/ head: /examples/launcher.py


Schauen Sie sich auch developer.ubuntu.com an!
David Planella

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.