Uživatelská rozhraní cvičení

Podobné dokumenty
Úvod do programovacího jazyka Python

Úvod do programovacího jazyka Python

Matematika v programovacích

C2184 Úvod do programování v Pythonu podzim Mgr. Stanislav Geidl Národní centrum pro výzkum biomolekul Masarykova univerzita.

C2184 Úvod do programování v Pythonu podzim Stanislav Geidl Národní centrum pro výzkum biomolekul Masarykova univerzita. Úvod.

Uživatelská rozhraní 10. cvičení. Martin Němec A

Předměty. Algoritmizace a programování Seminář z programování. Verze pro akademický rok 2012/2013. Verze pro akademický rok 2012/2013

Objektově orientované programování v jazyce Python

Objektově orientované programování v jazyce Python

Základy programování (C#) Autor: Ing. Jan Nožička SOŠ a SOU Česká Lípa VY_32_INOVACE_1134_Základy programování (C#) _PWP

Projekt implementace OS Linux do výuky informačních technologií

Multiplatformní GUI toolkity

Operační systémy. Cvičení 1: Seznámení s prostředím

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Téma 1: Práce s Desktop. Téma 1: Práce s Desktop

ŠKOLENÍ PROGRAMOVACÍHO JAZYKA JAVA JAVA - ZÁKLADY

Základy programování (IZP)

ABRA Software a.s. ABRA on- line

Karel Bittner HUMUSOFT s.r.o. HUMUSOFT s.r.o.

faktura, LaTeX, open source, freeware, Python, multiplatformní program

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

25. listopadu 2014, Brno Připravil: David Procházka. Qt a QML. Programovací jazyk C++

IT ESS II. 1. Operating Systém Fundamentals

PROGRAMOVÁNÍ PRO MS WINDOWS 1

CZ.1.07/1.5.00/

Natural Language Toolkit

Úvod Seznámení s předmětem Co je.net Vlastnosti.NET Konec. Programování v C# Úvodní slovo 1 / 25

Počítačové řešení elektrických obvodů

Obsah. 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody

Angličtina program k procvičování slovní zásoby

Ruby on Rails. Bc. Tomáš Juřík Bc. Bára Huňková

Základy programování (IZP)

Programování v jazyce VISUAL BASIC.NET

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Využití systému Dynamips a jeho nástaveb pro experimenty se síťovými technologiemi Petr Grygárek

INFORMATIKA. Libovolná učebnice k MS OFFICE 200x (samostatné učebnice k textovému procesoru MS Word 200x, tabulkovému procesoru MS Excel 200x).

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita

Cvičení č. 3. Sdílené prostředky a synchronizace Program Banka. 4 body

Computer Press Brno 2003

PROGRAMOVÁNÍ PRO MS WINDOWS 1

Výpočetní technika. PRACOVNÍ LIST č. 7. Ing. Luděk Richter

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

Django. Webový framework pro Python Projekt = webová stránka Aplikace = určitá funkcionalita webu

Dílčí projekt: Systém projektování textilních struktur 1.etapa: tvorba systému projektování vlákno - příze - tkanina

Komponenty v.net. Obsah přednášky

Algoritmus. Algoritmus je posloupnost kroků, které jsou potřeba k vyřešení problému.

Doxygen. Jakub Břečka

Počítačová Podpora Studia. Přednáška 4. Nástroje pro vědecko-technické výpočty a zpracování dat. (v rámci PPS) PPS 2014

Aplikace s grafickým uživatelským rozhraním

Správa zařízení Scan Station Pro 550 a Servisní nástroje zařízení Scan Station

Základy programování Operační systémy (UNIX) doc. RNDr. Petr Šaloun, Ph.D. VŠB-TUO, FEI (přednáška připravena z podkladů Ing. Michala Radeckého)

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

Microsoft Access tvorba databáze jednoduše

Nástroje pro vývoj software

Jak funguje GNU/Linux

Objektově orientovaný přístup

Certifikační autorita EET Modelové postupy vytvoření souboru žádosti o certifikát

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím


Střední odborná škola a Střední odborné učiliště, Hořovice

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

Google Web Toolkit. Martin Šurkovský, SUR března Katedra informatiky

úvod Historie operačních systémů

První kapitola úvod do problematiky

Algoritmizace. Cíle předmětu

Psaní programu pro PLC SIMATIC S7-300 pomocí STEP 7

Práce s administračním systémem internetových stránek Podaných rukou

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Výuka IVT na 1. stupni

Název materiálu: Open Office

Alternativní operační systémy. Martin Drlík, Daniel Krotil OSY2A, ITV

Tvorba informačních systémů

Co vás čeká. Osvojení si základy analytického myšlení při psaní algoritmů pomocí jazyka Python.

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT EU-OVK-VZ-III/2-ZÁ-217. Komprimace dat

Tablet. Rychlý průvodce instalací

Počítače a volný čas dětí a mládeže

Základy algoritmizace a programování

Základy programování (IZP)

Manuál pro web praktik: Asistent

Tematická oblast: Základy práce na PC (VY_32_INOVACE_10_1_AP) Anotace: Využití ve výuce: Autor: Ing. Jan Roubíček Vytvořeno: červenec až říjen 2013

Téma 1 - řešení s obrázky

Úvod 13 O čem je tato kniha? Pro koho je tato kniha? Jak studovat tuto knihu? Poděkování 16 Zpětná vazba od čtenářů Zdrojové kódy ke knize Errata 17

Nápověda k aplikaci EA Script Engine

Základy programování Úvodní informace. doc. RNDr. Petr Šaloun, Ph.D. VŠB-TUO, FEI (přednáška připravena z podkladů Ing. Michala Radeckého, Ph.D.

Efektivní vývoj mobilních aplikací na více platforem současně. Mgr. David Gešvindr MCT MSP MCPD MCITP

Úvod do programu Solid Edge

PostGIS. Luboš Hejduk, Petr Sedlář 2007

10 Balíčky, grafické znázornění tříd, základy zapozdření

Programátor AVRProg USB v3 MK II Eco Manuál

þÿ O k t á v o d i g i t á l n í k n i h o v n a F F

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Vývojové nástroje jazyka Java

Základy jazyka C. Základy programování 1 Martin Kauer (Tomáš Kühr)

Párování zařízení Bluetooth. Uživatelská příručka

INSTALACE SOFTWARE A AKTIVACE PRODUKTU NÁVOD

Instalace a konfigurace web serveru. WA1 Martin Klíma

Irena Šárová

Transkript:

Uživatelská rozhraní cvičení

Základní informace Webové stránky: http://blender.vsb.cz/ Podmínky pro získání klasifikovaného zápočtu: dodělání všech příkladu ze cvičení (předpokladem je 8 lehkých příkladu) odevzdání prvního zápočtového příkladu prostředí Python odevzdání druhého zápočtového příkladu prostředí C++/Qt

Bodové hodnocení počet bodů minimum bodů Projekt I (včetně diskuze) realizace GUI v Pythonu (Tk) Projekt II (včetně diskuze) realizace GUI v C++/Qt Účast a dopracování vzorových příkladů na cvičení 30 15 30 15 15 0 Písemka na přednášce 25 10

Projekty Cílem vašich projektů je ukázat, že dovedete vytvořit pěkně vypadající uživatelské rozhraní podle pravidel probíraných na přednáškách. Projet by měl demonstrovat uživatelské rozhraní vámi navrženého programu (program nemusí být plně funkční, jedná se pouze o GUI) Projekt by měl minimálně obsahovat tři rozsáhlejší okna, které budou obsahovat vhodné typy objektů. (checkbutton, frame, atd )

Projekty (složitost) Co je zde špatně a proč?

Projekty Předpokládejme, že máme již hotovy knihovny funkcí k našemu projektu a nyní pouze vytvoříme vhodné uživatelský příjemné GUI. Postup při vytváření: Návrh GUI (tužka a papír) ~ do 3 týdne Vytvoření GUI v Pythonu ~ do 7 týdne Vytvoření GUI v C++ (Qt) ~ do zápočtového týdne

Python Python navrhnul v roce 1990 Guido van Rossum Jedná se o interpretovaný objektově orientovaný programovací jazyk Je vyvíjen jako open source projekt Multiplatformní (Unix, Windows, Mac OS) S možností zabudování do jiných aplikací

Tkinter modul Tkinter - knihovna základních prvků pro budování grafického uživatelského rozhraní (GUI). Knihovna TK vzniká od roku 1991 (i jiné jazyky TCL) http://www.pythonware.com/library/

Instalace http://www.python.org/ Python 2.x vs. 3.x http://www.python.org/download/ Windows 15 MB http://www.python.org/doc/ Documentace 6 MB

Python + PyScripter Portable Python http://www.portablepython.com/ http://code.google.com/p/pyscripter/

Dokumentace On-line dokumentace http://docs.python.org Začínáme programovat v jazyce Python Daryl Harms, Kenneth McDonald Computer Press Tutoriály a odkazy na webu

Možnosti využití

První seznámení Všechny nástroje pro tvorbu GUI fungují tak, že rozhraní sestavujete z předdefinovaných prvků, které naleznete v odpovídající knihovně. Postupně většinu z nich uvidíte. Proto také: naučit se vytvářet GUI znamená pochopit obecný a stále stejný princip a pak bohužel také intenzivně pracovat s manuálem k odpovídajícímu nástroji (budeme se ale snažit maximálně vám v tom pomoci).

Začínáme s Pythonem - start Spusťte program Python Shell (Start Python GUI). Otestujte základní příkazy (využívejte nápovědu) Projděte si ukázkové příkladky

Základní příkazy test ="VSB-TU Ostrava" # poznámka print test print "\n \" and \t"+ test #" VSB-TU Ostrava Matematické výpočty x = 90 print x+x # 180 from math import sqrt print sqrt(x) #9.48683298051

Hlavní konstrukce jazyka print "Hello, World!" >>> Hello, World! def hello (what): text = "Hello, " + what + "!" print text hello ("World") hello (what) { text = "Hello, " + what + "!" print text } hello ("World") >>> Hello, World! # V čem se liší Python od jazyků typu C++, Java?

Začínáme s Pythonem + Tkinter Python 3.X from tkinter import * Python 2.X from Tkinter import *

Začínáme s Pythonem - start

Grafické prvky (tlačítko) from Tkinter import * class myapp: def init (self, master): self.fr = Frame(master) self.bu = Button(self.fr, text="konec", command=self.fr.quit) self.fr.master.title("button1") self.fr.pack() self.bu.pack() root = Tk() app = myapp(root) root.mainloop()

Grafické prvky - pack self.bua = Button(master, text="tlacitko1", command=master.quit) self.bub = Button(master, text="tlacitko2", command=master.quit) self.buc = Button(master, text="tlacitko3", command=master.quit) self.bud = Button(master, text="tlacitko4", command=master.quit) self.bua.pack() self.bub.pack() self.buc.pack() self.bud.pack() http://docs.python.org/release/3.2/library/tkinter.html self.bua.pack(fill=both, expand=1)

Grafické prvky - srovnání self.bua.pack(side="left") self.bub.pack(side="right") self.buc.pack(side="top") self.bud.pack(side="bottom") self.bua.pack(side="bottom") self.bub.pack(side="bottom") self.buc.pack(side="left") self.bud.pack(side="left") self.bud.destroy() #zrušení objektu

Grafické prvky - grid self.bua.grid(row=0, column=0) self.bub.grid(row=0, column=1) self.buc.grid(row=1, column=0) self.bud.grid(row=1, column=1) self.bua.grid(row=0, column=1) self.bub.grid(row=1, column=2) self.buc.grid(row=10, column=1) self.bud.grid(row=5, column=3)

Grafické prvky frame (rámeček) self.bua = Button(master, text="tlacitko1") self.bub = Button(master, text="tlacitko2") self.fr = Frame(master) self.buc = Button(self.fr, text="tlacitko3" ) self.bud = Button(self.fr, text="tlacitko4") self.bua.grid(row=0, column=0) self.bub.grid(row=0, column=1) self.fr.grid(row=1, column=0, columnspan=2) self.buc.pack() self.bud.pack() self.master.rowconfigure( 0, weight = 1 ) self.master.columnconfigure( 0, weight = 1 )

Window manažeru from Tkinter import * class App(Frame): def init (self, master=none): Frame. init (self, master) self.bu = Button(master, text="konec", command=self.quit) self.bu.pack() # create the application myapp = App() # here are method calls to the window manager class myapp.master.title("my Application") myapp.master.maxsize(1000, 400) # start the program myapp.mainloop()

Grafické prvky - ukázky Pro jednodušší pochopení jsme připravili jednoduché ukázky na některé základní prvky. Prosím uložte si ukázky k sobě na disk, pokusíme se je projít a upřesnit si základní prvky. Příklady_Python.zip

Grafické prvky - příklady Projděte si jednotlivé příklady, prohlédněte si také zejména zdrojové kódy.

Možnosti při vytváření Pokud jsou nastaveny cesty v OS, stačí kliknout na soubor s příslušnou příponou soubor.py Lze používat konzoli prostředí Pythonu. Využití I dalšíh různých editoru (PSPad, eclipse apod.).

Praktická úloha Příště již začneme s praktickým programováním. Na cvičeních budete moci používat šablony Ukázka příkladu úloh ze cvičení.

Dopracovat výpočet a vzhled. Děkuji za pozornost. Informace a obrázky převzaty z http://www.python.org/