-
Notifications
You must be signed in to change notification settings - Fork 1
/
Test_PitchLadder.py
64 lines (52 loc) · 2.41 KB
/
Test_PitchLadder.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
"""
Primary Flight Display v1.0.0 (https://github.com/vittorioPiotti/Primary-Flight-Display/releases/tag/1.0.0)
Copyright 2024 Vittorio Piotti, Diego Ciucaloni, Matteo Fabbioni, Luca Niccià
Licensed under GPL-3.0 (https://github.com/vittorioPiotti/Primary-Flight-Display/blob/main/LICENSE.md)
"""
"""
TKinter 8.6
-----------
TKinter is distributed as part of the Python Standard Library.
Python Software Foundation License Version 2
For the full license text, please visit:
https://docs.python.org/3/license.html
"""
import tkinter as tk
import sys
import os
# Aggiungi il percorso per trovare i moduli src
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..', 'src')))
# Importa il modulo Calc e PitchLadder
from Calc import Calc
from PitchLadder import PitchLadder
WIDTH = 600
HEIGHT = 600
# Definisci le costanti per la posizione iniziale e finale della scala di beccheggio
XSTART = 250
XEND = 350
# Definisci gli angoli di beccheggio e rollio in gradi
PITCH = 0
ROLL = 1
# Classe di test della classe PitchLadder per la visualizzazione della scala del pitch del display di volo primario
class Test_PitchLadder(tk.Tk):
def __init__(self, width, height):
super().__init__()
self.width = width # Larghezza della finestra
self.height = height # Altezza della finestra
self.lineCoords = [ # Coordinare della linea orizzontale
(0, height / 2), # Punto iniziale della linea
(width, height / 2) # Punto finale della linea
]
self.calc = Calc() # Istanzia la classe Calc per i calcoli
self.geometry(f"{width}x{height}") # Imposta le dimensioni della finestra
self.title("Test PitchLadder") # Imposta il titolo della finestra
self.configure(bg='black') # Imposta lo sfondo della finestra in nero
self.canvas = tk.Canvas(self, width=width, height=height, bg='black') # Crea un widget Canvas con sfondo nero
self.canvas.pack() # Aggiunge il Canvas alla finestra
# Crea un'istanza della classe PitchLadder e disegna le linee di beccheggio sulla canvas
self.pitchLadder = PitchLadder(width, height, self.canvas, self.calc)
self.pitchLadder.draw_all_lines(PITCH, ROLL, XSTART, XEND, self.lineCoords)
# Crea un'istanza della classe Test_Horizon e avvia la finestra principale
if __name__ == "__main__":
testPitchladder = Test_PitchLadder(WIDTH, HEIGHT)
testPitchladder.mainloop()