WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Entwicklung einer steuerung mit grafische oberfläche auf einem mini-computer zur durchführung von fahrzyklen an einem motorprüfstand.


par Patrick Siandji Djumedio
Hochschule für Technik und Wirtschaft Berlin - Bachelorarbeit 2019
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

5.1.2.7Threading

Das Python-Threading-Modul ist eine gute Sache, wenn man auf der Raspberry Pi Parallel arbeiten möchte. Es wird verwendet, um mehrere Aufgaben eines Programms gleichzeitig auszuführen und erfordert Multicore-Prozessoren. Mit diesem Modul wird hier das gleichzeitige Senden und Empfangen von Daten über CAN- und UART-Busse ermöglicht.

5.2 Tkinter

Es existierenverschiedene Python-Modul für die Realisierung von grafischenBenutzeroberflächen.Beispielesind etwa PyQt, PyGTk, wxPython, Tkinter. In dieser Bachelorarbeit liegt der Fokus auf der Tkinter Softwarebibliothek,da hiermit einfach und schnell eine GUI erstellt werden kann. Diese Bibliothek ist auf dem Raspberry Pi werkseitig schon installiert. Tkinter steht für Tk Interface, während Tk ein GUI-Toolkit Bibliothek für die Programmiersprache Python ist.

(Kofler, Kühnast, & Scherbeck, 2018, S. 734)

5.2.1 Widgets Entwurf

Der GUI-Toolkit Tk verfügt über verschiedene Widgets, die man in fast alle Benutzeroberfläche finden kann. Es handelt sich also um: Label, Button, Canvas, Frames, Checkbuttons, Radiobuttons, Entry, Textfelder, Dialoge, Menüs, Schieberegler. In diesem Kapitel wird gezeigt wie Widgets mit dem Tkinter Toolkit erzeugt werden. Die Abbildung 16 stellt die für die Realisierung der Prüfstand-Seite Verwendete Widgets dar.

2

5

3

1

4

Abbildung 16: Die Verschiedene Widgets der Prüfstand Synchronmaschine Seite

1. Label

2. Buttons

3. Canvas

4. Menü

5. Text-Box

5.2.1.1 Label

Labels werden benutzt, um Texte und Bilder darzustellen,jedoch ermöglichen sie keine Interaktion mit dem Nutzer. Label sind in Tkinter sehr einfach zu erzeugen. Sie werden in dieser Bachelorarbeit benutzt, um zum Beispiel den Titel einer Seite darzustellen.

Da Labels in einem Tkinter-Fenster erzeugt werden, wird zuerst gezeigt wie die verschiedenen Fenster/Seite, die unsere Benutzeroberfläche enthält, mit Python Programmiert werden (siehe Abbildung 17).

importtkinter astk #import von Tkinter Modul

# Initialisierung der klasse Startseite

classStartSeite(tk.Frame):

# create StartPage

def __init__(self, master): # Definition der Konstruktormethode

pass

# Initialisierung der klasse Login Seite

classLoginSeite(tk.Frame):

# create StartPage

def __init__(self, master): # Definition der Konstruktormethode

pass

# Initialisierung der klasse Prüfstand

classPrüfstand(tk.Frame):

# create StartPage

def __init__(self, master): # Definition der Konstruktormethode

pass

#Start des Programms

root = tk.Tk()#erzeugt das tkinter-wurzelobjekt

tk.frames = {}

# Instanzieren der Seiten

StartSeite = StartSeite(root)

LonginSeite = LoginSeite(root)

Prüfstand = Prüfstand(root)

Graphen_Ansicht = Graphen_Ansicht(root)

StartSeite.pn = 0

LonginSeite.pn = 1

Prüfstand.pn = 2

Graphen_Ansicht.pn = 3

# Zusammenfassen zu Frame-Container Tk.frames

for F in {StartSeite, LonginSeite, Prüfstand, Graphen_Ansicht}:

tk.frames[F.pn] = F

# Festlegung der Anzuzeigenden Seite

def show_frame(p):

frame = tk.frames[p]

frame.tkraise()

show_frame(StartSeite.pn)

root.mainloop()

Abbildung 17: Fenster-/Seitenerstellung der grafischen Oberfläche mit Tkinter.

Zu Beginn des Python-Codeswird das Tkinter-Modul importiert und dann das Tkinter-Root-Objekt erstellt. Um dieses Fenster aktiv zu halten, muss am Ende des Codes die Schleife der Hauptklasse Tkinter verwendet werden. Nun können die unterschiedlichen Seiten der Software (StartSeite, LoginSeite, Prüfstand)

instanziieren und am Ende die verschiedene Klasse definiert werden. Eine Klasse in Python wird am Anfang mit dem Namen class, gefolgt vom Namen der Klasse und am Ende mit Klammern definiert.

Nachdem das Tkinter-Fenster erzeugt wurde, können nun die verschiedenen Widgets in der entsprechenden Seite erstellt werden. Die Erstellung von Widgets erfolgt in der createwidgets()-Methode der jeweiligen Klasse. Methoden werden in der objektorientierten Programmierung wie Funktionen definiert; d. h. mit dem Wort def' gefolgt von dem Namen der Methode. Die folgende Abbildung zeigt wie Label mit Tkinter erzeugt werden.

Abbildung 18: Label inTkinter

Der obige Code erzeugt ein Label in Tkinter mit dem Text Prüfstand Synchronmaschine. Dieses Label wird als Titel der Prüfstandseite (Seite 3 der grafischen Benutzeroberfläche) verwendet.

Ohne die Anwendung der grid()-Methode würde den Label mit dem Text Prüfstand Synchronmaschine nicht anzeigen.bg ist die Abkürzung für Background und fg für foreground.#41B77f ist eine andere Arte im Hexadezimale Form für die Eingabe in Tkinter einer Farbe.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Il existe une chose plus puissante que toutes les armées du monde, c'est une idée dont l'heure est venue"   Victor Hugo