Programmieren in Python: Die erste Anwendung
Dieses Tutorial soll den Einstieg erleichtern und die Grundschritte erklären.
Eine Anwendung besteht aus 3 Teilen:
- Das Programm. Dies ist normalerweise ein Python-Skript. Es könnte aber auch jede beliebige andere Programmiersprache sein. Da Python der Standard für die TXT-Programmierung ist, bezieht dieses Tutorial sich ausschließlich darauf! Wichtige Hinweise:
- Zum Einrücken des Codes werden Leerzeichen empfohlen. Es ist in Python3 nicht erlaubt, Leerzeichen und Tabulatoren zu mischen.
- Das Zeilenende von Python-Code für die CFW wird durch ein einfaches Line-Feed-Zeichen (LF, ASCII-Code 10) markiert. Du musst darauf achten, dass der Editor, den du verwendest, in der Lage ist, den Code mit dem korrekten Zeilenende-Zeichen abzuspeichern.
-
Ein Manifest. Das ist eine kleine Datei, die den Programmnamen, Autor und weitere Informationen enthält.
- Ein Icon. Das Icon sollte ein PNG-Bild mit 64x64 Pixeln sein. Es wird sowohl auf dem Startbildschirm als auch in der Weboberfläche angezeigt.
Das Programm
Das Programm kann eine beliebige, vom TXT ausführbare Datei sein. Da das Programm vom Launcher (Startbildschirm) ausgeführt wird, erwartet der Benutzer, dass das Programm etwas auf dem TXT ausgibt. Deshalb sollte das Programm zumindestens eine minimalistische Oberfläche enthalten.
Aktuell benützen alle Anwendungen das Qt4-Framework für ihre Anzeigen. Eine minimale Anwendung sieht so aus:
#! /usr/bin/env python3
# -*- coding: utf-8 -*-
import sys
from TouchStyle import *
class FtcGuiApplication(TouchApplication):
def __init__(self, args):
TouchApplication.__init__(self, args)
# Creates an empty MainWindow
w = TouchWindow("Test")
w.show()
self.exec_()
if __name__ == "__main__":
FtcGuiApplication(sys.argv)
Speichere diese Datei unter test.py
. Du findest sie auch hier: test.py
.
Erkärung: Dieses Programm definiert eine von TouchApplication (importiert aus dem Paket TouchStyle) abgeleitete Klasse, die ein Fenster mit dem Titel “Test” bereitstellt, solange die Anwendung läuft.
Das Manifest
Das Manifest ist eine Textdatei mit den Eigenschaften der Anwendung:
[app]
name: Test
category: Tests
author: Joe Developer
icon: icon.png
desc: TXT app tutorial #1
url: http://cfw.ftcommunity.de/ftcommunity-TXT/en/programming/python/tutorial-1.html
exec: test.py
managed: yes
uuid: 191fe5a6-313b-4083-af65-d1ad7fd6d281
version: 1.0
firmware: 0.9
Notwendige Felder:
- name ist der Name der Anwendung, der im Launcher und in der Weboberfläche verwendet wird (5-15 Zeichen lang).
- icon ist der Name des Icons. Normalerweise heißt es “icon.png”.
- desc ist eine kurze Beschreibung (aktuell nur in der Weboberfläche verwendet).
- exec ist der Name des Skripts (Im Beispiel “test.py”).
- uuid ist eine eindeutige identifikationsnummer, die am TXT verwendet wird, damit es keine Konfusionen zwischen Anwendungsdaten gibt. UUIDs können auch Online generiert werden., z.B. hier. Die UUID wird auch verwendet, um das Verzeichnis für die App auf dem TXT zu erzeugen. Du musst für jeden App eine eigenne ID verwenden.
- managed ist aktuell unbenutzt (sollte aber trotzdem auf “yes” gesetzt werden.). Aktuell gibt es nur an, ob eine Benutzeroberfläche vorhanden ist. (Später kann damit das Framework angegeben werden).
- version ist die Versionsnummer der Anwendung.
- firmware ist die Versionsnummer der Firmware, für die die Anwendung getestet wurde.
Optionale Felder:
- category wird benutzt, um die Anwendungen zu Ordnern zusammenzufassen.
- author ist der Autor.
- url ist für den Link zu einer Homepage der App vorgesehen.
- html ist die Startdatei für das Webinterface der App, z.B index.html.
Speichere diese Datei als manifest
. Du findest ein Beispiel hier: manifest
.
Das Icon
Das Icon kann jede Datei im JPEG- oder PNG-Format sein. Es muss eine Auflösung von 64x64 Pixeln haben
Ein Beispiel kannst du hier finden.
Verpacken
Jetzt hast du die drei Dateien, die für eine TXT-App unbedingt notwendig sind:
- “test.py”, das Programm
- “manifest”, die Anwendungseigenschaften
- “icon.png”, das Icon
Um diese Datein auf den TXT zu bringen, musst du ein ZIP-Archiv erstellen (z.B. mit 7-Zip). Alle 3 Datein müssen im Hauptordner des Zip-Archives liegen, da sie der TXT sonst nicht findet.
Das fertige ZIP-Archiv gibt es hier
Hochladen zum TXT
Rufe mit dem Browser auf deinem PC die Weboberfläche des TXT auf:
Wähle mit dem Datei-Dialog das test.zip-Archiv aus und bestätige mit Upload.
Nach der Installation ist die Anwendung sichtbar!
So sieht die Ausgabe der Anwendung auf dem TXT aus:
Die Anwendung ist jetzt auch im Webinterface zu sehen:
Das Webinterface zeigt auch Details des Manifests:
Hier kannst du die Anwendung auch löschen.
Hier geht es weiter: Programmieren in Python: Entwicklung