CodeGym /Kursy /Python SELF PL /Tworzenie interfejsu do pracy z raportami i danymi

Tworzenie interfejsu do pracy z raportami i danymi

Python SELF PL
Poziom 50 , Lekcja 4
Dostępny

1. Tworzenie interfejsu do pracy z raportami

Więc, drodzy studenci, czas zanurzyć się w projektowanie i tworzenie interfejsu, który pozwoli nam nie tylko zbierać dane, ale także przedstawiać je w przejrzysty i, co najważniejsze, atrakcyjny sposób. Dziś tworzymy aplikację, która sprawi, że generowanie i przeglądanie raportów będzie łatwe jak programowanie w Python po filiżance mocnej kawy!

Tworzenie interfejsu do wyboru i wyświetlania raportów

Zaczniemy od stworzenia interfejsu, z którego użytkownik będzie mógł wybierać raporty do wyświetlenia. Interfejs będzie zawierał przyciski do ładowania danych, listy rozwijane do wyboru różnych raportów oraz obszar do wyświetlania wykresów.


import tkinter as tk
from tkinter import ttk

# Tworzymy główne okno
root = tk.Tk()
root.title("Raporty i dane")

# Dodajemy listę rozwijaną do wyboru raportu
report_label = ttk.Label(root, text="Wybierz raport:")
report_label.pack(pady=10)

report_options = ["Raport nr 1", "Raport nr 2", "Raport nr 3"]
selected_report = tk.StringVar(value=report_options[0])

report_menu = ttk.Combobox(root, textvariable=selected_report, values=report_options)
report_menu.pack(pady=10)

# Uruchamiamy główną pętlę aplikacji
root.mainloop()

Po uruchomieniu powyższego kodu zobaczysz proste okno, w którym można wybrać jeden z dostępnych raportów. Chociaż jeszcze nie widać wykresów, to podstawa, na której zbudujemy funkcjonalność aplikacji.

2. Integracja z bibliotekami graficznymi

Wykorzystanie Matplotlib do wyświetlania wykresów w aplikacji

Dotrzemy teraz do wykresów. Do ich wizualizacji będziemy korzystać z popularnej biblioteki Matplotlib. Ta biblioteka doskonale nadaje się do wizualizacji danych i może być zintegrowana z aplikacją Tkinter. Na początek upewnij się, że biblioteka jest zainstalowana:


pip install matplotlib

Teraz dodamy wykres do naszego interfejsu, korzystając z FigureCanvasTkAgg do integracji z Tkinter.


from matplotlib.figure import Figure
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg

# Tworzymy obszar dla wykresów
def plot_report():
    # Tworzymy testowy wykres
    fig = Figure(figsize=(5, 4), dpi=100)
    plot = fig.add_subplot(111)
    plot.plot([1, 2, 3, 4, 5], [2, 3, 5, 7, 11])  # Przykładowe dane

    # Integracja wykresu z aplikacją Tkinter
    canvas = FigureCanvasTkAgg(fig, master=root)
    canvas.draw()
    canvas.get_tk_widget().pack()

# Dodajemy przycisk do generowania wykresu
plot_button = ttk.Button(root, text="Generuj raport", command=plot_report)
plot_button.pack(pady=20)

Korzystając z powyższego przykładu, można wyświetlić prosty wykres po kliknięciu przycisku "Generuj raport". Oczywiście to dopiero początek. W praktyce zastąpisz ten prosty wykres danymi z rzeczywistych raportów.

3. Praktyczne zastosowanie

Tworzenie aplikacji do generowania i przeglądania raportów z integracją wykresów i danych

Teraz, gdy mamy podstawę naszego interfejsu z wykresami, możemy badać, jak przedstawiać dane w bardziej złożony i funkcjonalny sposób. W tym celu możesz integrować dane z przetworzonych plików Excel lub CSV oraz wyświetlać dowolne formy wizualizacji, które pasują do twojego zastosowania.


import pandas as pd
import random

def load_data():
    # Przykład generowania losowych danych
    data = pd.DataFrame({
        "x": list(range(1, 11)),
        "y": [random.randint(1, 10) for _ in range(10)]
    })
    return data

def plot_data_report():
    data = load_data()
    fig = Figure(figsize=(5, 4), dpi=100)
    plot = fig.add_subplot(111)
    plot.plot(data['x'], data['y'])

    canvas = FigureCanvasTkAgg(fig, master=root)
    canvas.draw()
    canvas.get_tk_widget().pack()

plot_button.config(command=plot_data_report)

Eksport raportów i danych z interfejsu do różnych formatów do dalszego wykorzystania

Aby aplikacja była nie tylko demonstracyjna, ale też użyteczna, ważne jest zaimplementowanie możliwości eksportu danych. Na przykład do pliku PDF lub Excel, co pozwoli dzielić się raportami z kolegami lub przełożonymi:


from tkinter import filedialog
import matplotlib.pyplot as plt

def export_report():
    # Generowanie danych i tworzenie wykresu
    data = load_data()
    fig, ax = plt.subplots()
    ax.plot(data['x'], data['y'])

    # Wybór ścieżki zapisu
    file_path = filedialog.asksaveasfilename(defaultextension=".pdf",
                                             filetypes=[("Pliki PDF", "*.pdf"), ("Wszystkie pliki", "*.*")])
    if file_path:
        fig.savefig(file_path)
        print(f"Raport zapisano w {file_path}")

# Dodajemy przycisk do eksportu
export_button = ttk.Button(root, text="Eksport raportu", command=export_report)
export_button.pack(pady=10)

Funkcja export_report pozwala wybrać, do którego pliku zapisać wykres, i zapisuje go w wskazanym formacie. Teraz twoja aplikacja nie tylko wizualizuje dane, ale też umożliwia ich przechowywanie w wygodnej formie.

W ten sposób nauczyliście się tworzyć interfejs do pracy z raportami, integrować z nim wykresy przy pomocy Matplotlib i dodawać funkcjonalności eksportu. W praktyce takie umiejętności są niezwykle przydatne w tworzeniu narzędzi do automatyzacji raportów, analizy danych i przedstawiania ich w przystępnej formie. Mam nadzieję, że podobało wam się! I pamiętajcie, prawdziwa magia programowania dzieje się, gdy kod ożywa w postaci użytecznego narzędzia.

1
Ankieta/quiz
Tworzenie interaktywnej aplikacji, poziom 50, lekcja 4
Niedostępny
Tworzenie interaktywnej aplikacji
Tworzenie interaktywnej aplikacji
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION