Zajęcia Python III nr 9 i 10 - notatki

Zajęcia Python III nr 9 i 10 - notatki
Photo by Timothy Dykes / Unsplash

GUI:

GUI - Graphic User Interface
To po prostu graficzny interfejs programów. W obecnych czasach są one obecne wszędzie, ale interfejs terminalowy/tekstowy dalej ma zastosowanie dla ludzi znających kod.

Interfejsy graficzne są lepsze dla szarego użytkownika który nie zna poleceń.

Biblioteka GUI to inaczej framework - zawiera wszystkie potrzebne komponenty do stworzenia działającego interfejsu.

Z Pythonem pracują np.:

  • Tkinter [już mocno przestarzały]
  • Qt (PySide, PyQt)
  • GTK (PyGObject) [zrobiono z nią np. Inkscape i GIMP]
  • Kivy [często do aplikacji mobilnych]
  • DearPyGui [używany czesto przy aplikacjach naukowych]
  • Flet [pozwala na korzystanie z frameworku Flutter, bo sam Flutter jest napisany w języku Dart]

My będziemy korzystać z Flet(u) (Flutter).


Podstawowa struktura Flet

Flet ma bardzo jasną dokumentację:

Introduction | Flet
What is Flet?

Zamiast używania przycisku play do włączania Flet...
Lepiej w terminalu wpisywać:

flet run [nazwa pliku].py

Ogólne parametry okna, przykładowo:

    page.title = "Program QR"
    page.vertical_alignment = flet.MainAxisAlignment.START
    page.horizontal_alignment = flet.CrossAxisAlignment.CENTER

Odpowiednio to tytuł okna, ułożenie pionowe i poziome.


FUNKCJE - CZASOWNIKI

Poprzednio używaliśmy tylko funkcji dostepnych z bazowym Pythonem oraz tych z bibliotek.

Dzięki def, naszemu własnemu czasownikowi, możemy konstruować własne funkcje - ale dobrze jest pamiętać o dwóch zasadach.

Savoir-vivre kodowania:


KLASY OBIEKTÓW

Można tworzyć własne typy poprzez stworzenie jakiejś klasy obiektów.

NIE MOŻEMY MYLIĆ KLASY Z OBIEKTEM.

Klasa jest czymś w rodzaju szablonu, konkretnym przepisem na typ obiektu.

Dzięki tworzeniu własnych klas możemy łatwiej eliminować powtórzenia w kodzie.
Do deklarowania klasy służy class.

Aby przypisywać obiektom w klasie indywidualne cechy, musimy użyć funkcji def __init__(self). Sekcja init aktywuje indywidualne cechy danego obiektu.
Możemy sami definiować własne metody w takich klasach.

Dziedziczenie - gdy chcemy stworzyć nową klasę,. która przejmie wartości innej klasy "rodzica". potrzebujemy wtedy użyć tzw "super init"


Do tworzenia nowych klas przez użytkownika można użyć ABC (abstract class).
Tutaj do stworzenia profesji w grze: