Aplikacje okienkowe (2) urs systemu Unix 1

Podobne dokumenty
Aplikacje okienkowe. Kurs systemu Unix 1

Edytor tekstu MS Office Word

Kurs języka Python. Wykład 5. Marcin Młotkowski. 9 listopada Rodzaje parametrów funkcji. 2 Biblioteka Tk. 3 Układanie kontrolek w oknie

1. Wprowadzenie. 1.1 Uruchamianie AutoCAD-a Ustawienia wprowadzające. Auto CAD Aby uruchomić AutoCada 14 kliknij ikonę

Formy dialogowe w środowisku Gnome

PROJEKT WIZYTÓWKI WIZYTÓWKA A

1. Umieść kursor w miejscu, w którym ma być wprowadzony ozdobny napis. 2. Na karcie Wstawianie w grupie Tekst kliknij przycisk WordArt.

Dodanie nowej formy do projektu polega na:

MATLAB Prowadzący: dr hab. inż. Marek Jaszczur Poziom: początkujący

Dokładny opis instalacji programów RFD można znaleźć w pliku PDF udostępnionym na stronie w zakładce Downland > AutoCAD > Instalacja

Dlaczego stosujemy edytory tekstu?

Wybieramy File->New->Project Wybieramy aplikację MFC->MFC Application jak na rysunku poniżej:

1. Przypisy, indeks i spisy.

rozdział 2: WSTĘP DO TKINTER

CZĘŚĆ A PIERWSZE KROKI Z KOMPUTEREM

System obsługi wag suwnicowych

Tworzenie prezentacji, PowerPoint

Edytor tekstu MS Word podstawy

Klawiatura. Klawisze specjalne. Klawisze specjalne. klawisze funkcyjne. Klawisze. klawisze numeryczne. sterowania kursorem. klawisze alfanumeryczne

C-geo definicja/edycja obiektów, zapis danych w formacie shape

Skróty klawiaturowe w programie Microsoft Excel 2013

TABULATORY - DOKUMENTY BIUROWE

Programowanie w środowisku graficznym GUI

Wersja 13.2 ihurt - nowe opcje i zmiany instrukcja dla użytkowników

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

Skróty klawiaturowe w systemie Windows 10

5.2. Pierwsze kroki z bazami danych

WxPython jest platformą pozwalającą tworzyd aplikacje okienkowe nie tylko dla systemu Windows ale i Mac czy Unix.

wstawianie przycisków umożliwiających wybieranie wartości poprzez klikanie strzałek

Opis programu Konwersja MPF Spis treści

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz

MS Access formularze

Opis programu APEK NetPrezenter

Podręcznik użytkownika programu. Ceremonia 3.1

Tworzenie szablonów użytkownika

Metodyka wykonania kartogramu z podziałem na klasy wg punktów charakterystycznych wraz z opracowaniem kartogramicznej legendy.

Słowa kluczowe Sterowanie klawiaturą, klawiatura, klawisze funkcyjne, przesuwanie obiektów ekranowych, wydawanie poleceń za pomocą klawiatury

Programowanie Wizualno Obiektowe - zajęcia 2 (PWO_BCPP_2_2) Tworzenie i kompilowanie projektów Programowanie Wizualno Obiektowe Zajęcia 2, część 2

Arkusz strona zawierająca informacje. Dokumenty Excela są jakby skoroszytami podzielonymi na pojedyncze arkusze.

Jak zainstalować i skonfigurować komunikator MIRANDA, aby wyglądał i funkcjonował jak Gadu Gadu Tutorial by t800.

programu Neofon instrukcja obsługi Spis treści

Advance CAD 2016 SP2. W tym dokumencie opisano ulepszenia w Advance CAD Service Pack 2. Co nowego w Advance CAD 2016 SP2

Pokaz slajdów na stronie internetowej

BAZY DANYCH Formularze i raporty

Lekcja 1: Origin GUI GUI to Graficzny interfejs użytkownika (ang. GraphicalUserInterface) często nazywany też środowiskiem graficznym

Maszyna stanu State Machine

Podstawy tworzenia prezentacji w programie Microsoft PowerPoint 2007

Nr: 15. Tytuł: Kancelaris w systemie Windows 8 i Windows 8.1. Data modyfikacji:

ZAJĘCIA KOMPUTEROWE KLASA IV. Opis wymagań, które uczeń powinien spełnić, aby uzyskać ocenę:

Podstawowe kontrolki graficzne. Obsługa plików poprzez kontrolki

dokumentacja Edytor Bazy Zmiennych Edytor Bazy Zmiennych Podręcznik użytkownika

1. SFC W PAKIECIE ISAGRAF 2. EDYCJA PROGRAMU W JĘZYKU SFC. ISaGRAF WERSJE 3.4 LUB 3.5 1

Opis ikon OPIS IKON. Ikony w pionowym pasku narzędzi: Ikony te używane są przy edycji mapy. ta ikona otwiera szereg kolejnych ikon, które pozwalają na

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.1

Instrukcja użytkownika

Obliczenie powierzchni w C-Geo. Działki, użytki

Jak przygotować pliki gotowe do publikacji w sieci za pomocą DigitLabu?

I. Spis treści I. Spis treści... 2 II. Kreator szablonów Tworzenie szablonu Menu... 4 a. Opis ikon Dodanie nowego elementu...

MODUŁ POMOST PRZEWODNIK UŻYTKOWNIKA (WERSJA DLA SYSTEMU EKSPERT) 1. WSTĘP PRZYGOTOWANIE DO PRACY... 2

Komputery I (2) Panel sterowania:

Kombinacje modyfikatorów klawiaturowych i kliknięć myszą dla obiektów powłoki

TCL-TK. Programowanie

Skróty klawiaturowe w PowerPoint

WINDOWS XP PRO WINDOWS XP PRO

Praca w środowisku Visual Studio 2008, Visual C

ABC 2002/XP PL EXCEL. Autor: Edward C. Willett, Steve Cummings. Rozdział 1. Podstawy pracy z programem (9) Uruchamianie programu (9)

jako integralna część Regionalnego Systemu Informacji Przestrzennej (RSIP)

IRONCAD. TriBall IRONCAD Narzędzie pozycjonujące

Budowa aplikacji z graficznym interfejsem użytkownika - GUI (Graphic User Interface)

KGGiBM GRAFIKA INŻYNIERSKA Rok III, sem. VI, sem IV SN WILiŚ Rok akademicki 2011/2012

POMOC / INSTRUKCJA OBSŁUGI

Wczytywanie cenników z poziomu programu Norma EXPERT Tworzenie własnych cenników w programie Norma EXPERT... 4

Podstawy technologii cyfrowej i komputerów

Obsługa komputera. Paweł Kruk

1. Dostosowanie paska narzędzi.

W y m a g a n i a Z. KOMPUTEROWE KLASY II-III SP

Moduł Handlowo-Magazynowy Przeprowadzanie inwentaryzacji z użyciem kolektorów danych

Praca w programie Power Draft

Lazarus dla początkujących, część II

Opis programu EKSoft Rezerwacje

Programowanie obiektowe

Spis treści. Rozdział 2. Graficzna oprawa witryny...z Stosowanie motywu...s...s.. 19

Instrukcja obsługi programu Do-Exp

OKNO NA ŚWIAT - PRZECIWDZIAŁANIE WYKLUCZENIU CYFROWEMU W MIEŚCIE BRZEZINY

Dodawanie operacji dodatkowych w WAPRO Mag.

Zajęcia nr 15 JavaScript wprowadzenie do JavaScript

Laboratorium MATLA/MTL

Instrukcja wejścia na lekcje on-line

Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych

Oficyna Wydawnicza UNIMEX ebook z zabezpieczeniami DRM

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 1

Ćwiczenie Nr 6 Przegląd pozostałych najważniejszych mechanizmów systemu operacyjnego Windows

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

rozdział 4: WŁASNOŚCI WIDŻETÓW

Makropolecenia w PowerPoint Spis treści

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.1

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 1

Rys.1. Technika zestawiania części za pomocą polecenia WSTAWIAJĄCE (insert)

Transkrypt:

Aplikacje okienkowe (2) urs systemu Unix 1

Co było? Tk rozszerzenie języka Tcl Tkinter interfejs Pythona do Tk (standardowo rozprowadzany) urs systemu Unix 2

A konkretnie? Ramki (jako pojemniki na kontrolki) Przyciski (zwykłe, radiowe oraz opcji) urs systemu Unix 3

Plan na dzisiaj Suwaki oraz proste okienka edycyjne Geometria: Metoda pack Metoda grid Listbox-y (wybór jednego z wielu tekstów) Okienka dialogowe Menu urs systemu Unix 4

Wczytywanie tekstu Klasa Entry opisuje kontrolkę służącą do wpisywania tekstu. Opcja textvariable = n oznacza, że tekst trafia do zmiennej n. Opcja show * oznacza, że zamiast tekstu pojawiają się gwiazdki. urs systemu Unix 5

Suwak Za pomocą suwaka wczytujemy liczbę całkowitą. Suwak opisuje klasa Scale, ma on opcje: orient, orientacja, np. horizontal from oraz to, zasięg liczby tickinterval ja często podziałka variable zmienna. length długość Można połączyć suwak z polem edycyjnym za pomocą tej samej zmiennej. urs systemu Unix 6

Geometria Używa się następujących jednostek: m, c, i, p oznaczających, odpowiednio: milimetry, centymetry, cale, punkty ekranowe. W opcjach wymagających argumentu będącego długością, należy po liczbie wypisać jej miano, np length = 3i. urs systemu Unix 7

Metoda pack Umieszcza kontrolki poczynając od krawędzi okna/kontrolki nadrzędnej. Każda kontrolka wie, która kontrolka jest dla niej nadrzędna. Używaliśmy opcji padx, pady. Opcje ipadx, ipady sprawiają że kontrolka się rozszerza i puchnie tak, by przerwa była minimalna. urs systemu Unix 8

Metoda grid Polecenie grid służy do tworzenia tabel i rozmieszczania różnych rzeczy w prostokątnej siatce. Kontrolkę umieszcza się w podrzędnym oknie, położenie określają opcje row oraz column. Można rozciągnąć obszar kontrolki za pomocą rowspan n oraz columnspan W ramach przydzielonego obszaru można rozciągac kontolkę za pomocą opcji sticky. Przykładowo sticky e zakotwicza konrolkę po prawej stronie, sticky ew sprawia, że może się ona rozciągac ze wschodu na zachód. urs systemu Unix 9

Uwaga! Nie należy łączyć w jednym oknie metod pack oraz grid! urs systemu Unix 10

Powiązania Metoda bind łączy zdarzenie z kontrolką i poleceniem. Zawiera dwa argumenty: napis opisujący zdarzenie oraz funkcję obsługującą zdarzenie. Ta funkcja powinna brać argument typu Event z niego da się odczytać różne informacje dotyczące zdarzenia. Przykładowe nazwy zdarzeń <KeyPress-Left>, <Control-Button-1>, <Alt-Button-2>, <ButtonRelease-1>, <Enter>, <Double-Button-2> <KeyPress-Right>, <Alt-KeyPress-Space>... Więcej przykładów można uzyskac pisząc man bind (choć pod tą nazwą może być polecenie basha) lub man event. urs systemu Unix 11

Zdarzenia Zdarzenie (typ Event) ma takie między innymi atrybuty: x,y,x_root,y_root współrzędne zdarzenia (we współrzędnych okna zdarzenia lub okna głównego) widget kontrolka, której zdarzenie dotyczy keysym nazwa klawisza, na przykład left time czas zdarzenia urs systemu Unix 12

Listy. Zadanie Chcemy utworzyć aplikację zawierającą 1. Listę nazw plików w bierzącej kartotece. 2. Okienko tekstowe, w którym będzie pojawiała się nazwa wybranego pliku. 3. Dwa paski do przewijania tej listy. Składniki: 1. Listę tworzymy poleceniem: Listbox 2. Suwak tworzymy poleceniem: Scrollbar Jest to pierwsze podejście do okienkowego mc. urs systemu Unix 13

Powiązanie Listboxa z paskiem przewijania Umieszczamy je w jednej ramce ramka = Frame() Podczas tworzenia łączymy je ze sobą, jak poniżej sb = Scrollbar(ramka,orient = VERTICAL) lb = Listbox(ramka,yscrollcommand=sb.set) sb.config(command=lb.yview) Oczywiście możliwa jest też opcja xscrollcommand. urs systemu Unix 14

Rozwiązanie #!/usr/local/bin/python from Tkinter import * import os root = Tk() # obsługa zdarzenia def gfile(event): W = event.widget Zaznaczone = W.curselection() NazwaPliku = W.get(Zaznaczone[0]) wybranyplik.set(nazwapliku) #zmienne wybranyplik = StringVar() urs systemu Unix 15

#kontrolki L = Listbox() H = Scrollbar(orient = "horizontal", command = L.xview) V = Scrollbar(command = L.yview) L.config(selectmode="single", width=20, height=10, xscroll = H.set, yscroll=v.set) Lab = Label(text= "File Selected:", justify = left ) E = Entry(textvariable = wybranyplik) L.grid(row=0, column=0, columnspan=2, sticky="news") V.grid( row=0, column=2, sticky="ns") H.grid( row=1, column=0, columnspan=2, sticky="we") Lab.grid( row=2, column=0) E.grid( row=3, column=0, columnspan=3, sticky= "we") urs systemu Unix 16

L.bind("<ButtonRelease-1>",gfile) for p in os.listdir("/home/pamarzka/"): L.insert(END,p) mainloop() # tu się zaczyna działanie urs systemu Unix 17

Co to jest focus? Focus to zdolność kontrolki do przyjmowania danych z klawiatury. Kontrolka, która go ma reaguje na różne klawisze: PAGE UP, PAGE DOWN (listoboxy) oraz spację (przyciski). Ma go jedna kontrolka, wyróżniona ramką Przełączają go klawisze TAB oraz (w drugą stronę) kombinacja SHIFT+TAB. Przez kontrolkę tekstową można przeskoczyć używając CTR+TAB Można wyłączyć z kolejki focusowej kontrolkę za pomocą opcji takefocus, pisząc K.configure(takefocus = 0) Domyślnie nie podąża za myszką, ale można użyć opcji tk_focusfollowsmouse. urs systemu Unix 18

Reagowanie na klawisze Nie jesteśmy zadowoleni z domyślnej reakcji na przesuwanie: nie przesuwa się zaznaczenie, tylko kreska. Zmieniamy obsługę klawiszy: lb.bind("<keypress>",keymoves) dodajemy obsługę przesuwania: def keymoves(event): lb = event.widget key = event.keysym poz = int(lb.curselection()[0]) lb.select_clear(poz) if key == "Up" and poz > 0: poz = poz-1 if key == "Down" and poz < lb.size()-1: poz=poz+1 lb.select_set(poz) urs systemu Unix 19

Sposoby wybierania Listy mają parametr selectmode. Wartość SINGLE oznacza wybór pojedynczego elementu. Domślna wartość BROWSE podobnie, ale można używać myszki. Wybór większej liczby realizujemy za pomocą EXTENDED. urs systemu Unix 20

Okienka dialogowe: komunikaty Okienka komunikatów zawarte są w module: tkmessagebox. Przykładowe wywołania: tkmessagebox.showwarning("otwieranie pliku","nie da się!\n") if tkmessagebox.askyesno("drukowanie", "Chcesz drukować?"): print "No to piszemy!" W okienkach informacyjnych można jeszcze używać showinfo oraz showerror, różnią się od showwarning rodzajem ikonki. W pytaniach można używać również askokcancel,askretryignore urs systemu Unix 21

Opcje okienek komunikatowych icon ikona wyświetlana, np ERROR, INFO, QUESTION lub WARNING (może też byc obiekt obrazka) default który z klawiszy będzie domyślnie ustawiony (ABORT, OK,...) urs systemu Unix 22

Inne proste okienka Zdefiniowane w module tksimpledialog Służą do wczytywania tekstu, liczby całkowitej względnie liczby zmiennopozycyjnej. Wczytanie napisu realizujemy za pomocą: tksimpledialog.askstring(title, prompt, initialvalue = Na początku ) Podajemy tytuł okna i tekst nad okienkiem wczytującym. Można (ale nie trzeba) podać początkową wartość tekstu. Są też funkcje askinteger oraz askfloat. urs systemu Unix 23

Dialogi związane z plikami Trzeba zaimportować tkfiledialog. Do otwierania pliku służy funkcja tkfiledialog.askopenfilename() która wywołuje standardową przeglądarkę dla plików i zwraca nazwę wyznanego pliku. Do nazwy zapisywanego pliku służy asksavefilename urs systemu Unix 24

Wybór koloru Dialog znajduje się w module tkcolorchooser Funkcja: askcolor zwraca trzyelementową krotkę, będącą opisem koloru w RGB. urs systemu Unix 25

Menu Mamy trzy podstawowe metody: add_command, add_cascade, add_separator dodające odpowiednio: 1 element w menu, podmenu oraz separator (czyli kreskę) Podmenu jest innym obiektem typu Menu. Z pozycjami w menu łączymy funkcje bezargumentowe oznaczające akcję wybraną przez daną pozycję z menu. urs systemu Unix 26

Menu: przykład from Tkinter import * def callback(): print "called the callback!" root = Tk() menu = Menu(root) root.config(menu=menu) # nazwa-par = obiekt filemenu = Menu(menu) menu.add_cascade(label="file", menu=filemenu) filemenu.add_command(label="new", command=callback) filemenu.add_command(label="open", command=callback) filemenu.add_separator() filemenu.add_command(label="exit", command=callback) urs systemu Unix 27

helpmenu = Menu(menu) menu.add_cascade(label="help", menu=helpmenu) helpmenu.add_command(label="about", command=callback) mainloop() urs systemu Unix 28