Bolum 9. Konu Başlıkları



Benzer belgeler
Python Programlama Dili

KISIM I: TEMEL KONULAR 1

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

Python Programlama Dili

INPUTBOX KULLANIMI. Komut Düğmesine uygulanan algoritma örneği

DENEME SINAVI. ECDL BAŞLANGIÇ Hesap Tablosu

Tkinter Kılavuzu. Sürüm 2.x. Fırat Özgül

Python Programlama Dili


Python Programlama Dili

Print Komutu ile Değişkenleri Yazdırmak

Proje 1. Arayüz Tasarımı

ÖĞRENME FAALİYETİ 1 ÖĞRENME FAALİYETİ 1 1. FORMLAR

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı

ASSAM YÖNERGESİNE EK-T ASSAM WEB SİTESİ YÖNERGESİNE LAHİKA-2 WEB SİTESİ MAKALE EKLEME KILAVUZU ASSAM

VISUAL BASIC DE İŞLETİM SİSTEMİ DENETİM KOMUTLARI VE FONKSİYONLARI

E-Posta Hesabı Oluşturma

Resim 7.20: Yeni bir ileti oluşturma

Web Formlar ve Sayfalar Arasında Bilgi Gönderme. BATML İnternet Programcılığı 1

ÖNDER BİLGİSAYAR KURSU. Microsoft Office Kursu Eğitim İçeriği

Pythonda değişkenlerin türlerini tanımlamaya gerek yoktur

PYTHON PROGRAMLAMA DİLİ

Android Ders Notları

TEMEL BİLGİTEKNOLOJİLERİ

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Burada a değişkeninin türü integer olarak verildi. Peki biz bu ifadeyi tırnak içerisinde yazarsak ne olur?

YZM 2105 Nesneye Yönelik Programlama

SAB 103 TEMEL BİLGİSAYAR KULLANIMI

İşletme Fakültesi Bil. Kullanımı Ders notları 2

NAZMİYE DEMİREL ORTAOKULU BİLİŞİM TEKNOLOJİLERİ DERSİ 1. DÖNEM 6. SINIFLAR DERS NOTU EXCEL 2007 DERS NOTLARI

BOOTLOADER MANUAL DOCUMENT

Testimizin ilk sayfası: bu kısımda kullanıcıdan adını girmesini ve teste başlamasını istiyoruz.

III. Ünite A. BAŞLANGIÇ B. TEMEL İŞLEMLER C. BİÇİMLEME D. SAYFA BİÇİMLEME E. YAZDIRMA F. İLERİ ÖZELLİKLER KELİME İŞLEM PROGRAMI

ZTerminal KULLANMA KILAVUZU. yazılımı. USB Terminal

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi KULLANICI ARAYÜZ. BLM401 Dr.Refik SAMET

BİLGİSAYAR PROGRAMLAMA. Yrd. Doç. Dr. Beytullah EREN

LABORATUVAR ÇALIŞMASI 1 - Python a Giriş

Hukuk Parter ile SMS Yönetimi

AYDES PROJESİ MESAJ KUTUSU EĞİTİM DOKÜMANI

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler

Kabuk Programlama (Bash)

DS150E Kullanıcı El Kitabı. Dangerfield June V3.0 Delphi PSS

1. VERİ TABANI ARAÇLARI

YENİ NISSAN GROUP EPC NİZ BAŞLANGIÇ KILAVUZU

3. Aşağıdakilerden hangisi B5 hücresinin değerini getirir (Kopyalar)? a-) =B5 b-) B5 c-) =B(5) d-) =5B

İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ

2) Hesabınıza Giriş yaptıktan sonra aşağıdaki ekran karşınıza gelir.

"Her zaman düzeltme öner" seçeneği işaretliyse solda bulunan pencerenin "Öneriler" bölümünde düzeltme önerir.

Bu Hafta Öğreneceklerimiz

Top level widget. 1 Kaynak kodları yazarken widgetlerin özgün (original) adlarını kullanmak zorundayız.

12 TBT / WEB TASARIM ve PROGRAMLAMA ( Not 3 )

Bu düğme tıklandığında karşınıza yandaki gibi bir diyalog kutusu daha gelecektir.

HESABINIZA GİRİŞ YAPMAK İÇİN:

VERİ TABANI UYGULAMALARI

WORD KULLANIMI

HSancak Nesne Tabanlı Programlama I Ders Notları

20. Detay Çıkartma. ArchiCAD 9 Prof. Dr. Salih Ofluoğlu

Temel Bilgi Teknlolojileri 1. Ders notları 5. Öğr.Gör. Hüseyin Bilal MACİT 2017

Genel Programlama II

AKINSOFT NetFoto. Yardım Dosyası. Doküman Versiyon : Tarih : Sayfa-1. Copyright 2010 AKINSOFT

SQL Uyarı Programı Kurulum ve Kullanımı

Çerezleri (Cookie) ve Önbelleği (Cache) Temizleme

MÜ DAD ONLİ NE Ü YELİ K

ÇANKIRI KARATEKİN ÜNİVERSİTESİ ZİMBRA E-POSTA SİSTEMİ KULLANICI DOKÜMANI

KOCAELİ TEKNİK LİSESİ ELEKTRİK ELEKTRONİK BÖLÜMÜ OTOMASYON ATÖLYESİ EKTS (Elektrik Kumanda Teknikleri Simülatörü ) DERS NOTU. Kaynak :

1. Mutabakat.zip dosyası açılır. 2. Mutabakat klasörü içindeki Mutabakat.exe dosyası çalıştırılır.

LyX. İlkay TÜRK ÇAKIR. SANAEM- TAEK HPFBO-Çukurova Üniversitesi

Hızlı Başlangıç Kılavuzu

YZM 2105 Nesneye Yönelik Programlama

Ders 4: Diziler (Arrays( Arrays) barisgokce.com

Bilgisayar. Bilgisayarın Özellikleri. Giriş İşleme Çıkış. Bilgisayar Nedir? Bilgisayarın Çalışma Prensibi

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları

ÖĞRENME FAALĠYETĠ 3 ÖĞRENME FAALĠYETĠ 3

SIMAN KULLANIM KILAVUZU

Uygulamalar 4 IsMissing Fonksiyonlar ve Alt Programlar Prosedür Parametreleri Public Function f(x,y,optional t, Optional k) End Function 1.

Değerli Datasoft Kullanıcısı;

OÖ lçu mu Uygulaması

MUĞLA SITKI KOÇMAN ÜNİVERSİTESİ. ECTS Info Pack. ECTS Bilgi Paketi Çalışmaları. Bilgi İşlem Daire Başkanlığı YAZILIM-WEB GRUBU

WINDOWS VE PARDUS İÇİN İMZAGER KURULUM TALİMATI

Hızlı Başlangıç Kılavuzu

Bilgisayar Programlama

ESO Lojistik Merkezi Bilgi Sistemi

Kopyalama ve Taşıma konularıyla ilgili daha değişik uygulamalar yaparak bu konunun pekiştirilmesini sağlamanız yararınıza olacaktır.

İçindekiler ADIM 1 : Üye Olma... 2 ADIM 2 : Giriş Yap ve Hatırlatma Sayfaları... 3 ADIM 3: Üye Girişi yapıldıktan sonra yapabileceğiniz işlemler...

MATLAB İLE PROGRAMLAMAYA GİRİŞ. Nedim TUTKUN Elektrik Elektronik Mühendisliği Bölümü

BİL 810 İnşaat Mühendisliğinde Bilgisayar Uygulamaları

Silmek istediğiniz satır/sütun/hücre yi seçin ve aşağıdaki adımlardan birini takip edin:

Dinamik Kodlama. [X] [X] Yeni Fonksiyon

ÖĞRENME FAALİYETİ 1 ÖĞRENME FAALİYETİ 1

Kullanıcı Kılavuzu Türk İşaret Dili (TİD) Web Sayfası Projesi. Ayça Kundak Cem Altel Didem Gözüpek M.Sadullah Ceran Metin Döşlü Seher Göğebakan

WEB PROGRAMLAMA. DERS NOTLARI / JavaScript e Giriş YARD. DOÇ. DR. MEHTAP YALÇINKAYA

Kullanım Kılavuzu Milli Eğitim Bakanlığı 2010

SMS Gönderim Đyileştirmeleri

Pardus 2013 te Metin Editörleri

Python Programlama Dili

Python Programlama Dili

KLAVYEDE TUŞLAR İMLEÇ NEDİR?

IV. Ünite A. BAŞLANGIÇ B. TEMEL İŞLEMLER C. FORMÜLLER VE FONKSİYONLAR D. BİÇİMLEME E. İLERİ ÖZELLİKLER ELEKTRONİK TABLOLAMA

CAEeda TM GENEL TANITIM. EDA Tasarım Analiz Mühendislik

Transkript:

Bolum 9 Konu Başlıkları 1.Grafik Arayüz Tasarımı//Pencere Araçları(Widgets) Label Button Enrty Checkbutton Toplevel Listbox Menu Text Bitmap Herhangi bir pencere üzerinde bulunan düğmeler,etiketler,sağa-sola,yukarı-aşağı kayan çubuklar,kutular,menüler,vb,hepsi birden pencere araçlarını,yani widgetleri oluşturuyor. Label(Pencere Aracı) Ingilizcede ''etiket'' anlamına geliyor.bu araç pencerelerin üzerine etiket misali öğeler yapıştırmamızı sağlıyor.bunda bir örnek yapmıştık. Button(Pencere Aracı) Bu araç yardımıyla pencerelerimize,tıklandıklarında belli bir işlevi yerine getiren düğmeler ekleyebileceğiz.''button'' aracının kullanımı daha önce gördüğümüz ''Label'' aracının kullanımına çok benziyor.burada da parantez içinde bazı parametreler kullandık ''text'' parametresini zaten biliyoruz.kullanıcıya göstermek istediğmiz metni ''text'' parametresi yardımıyla belirliyoruz.aynı parantez içinde gördüğümüz ''command'' parametresini ise düğme üzerine tıklandığında işletilecek komutu gösteryoruz.biz burada ''pencere.quit'' komutunu vererek,düğmeye tıklandığında pencerenin kapatılmasını istedik. button=kullanacağımız pencere aracı(''button'':''düğme'') command=oluşturduğumuz düğmeye tıklanıldığında çalıştırılacak komut x.quit=düğmeye tıklandğında pencerenin kapatılmasını sağlayan komut #!/usr/bin/env python pencere=tk() pencere.geometry("200x250+10+15") pencere.tk_setpalette("yellow") button=button(text="exit",command=pencere.quit) Buttonu hazırladık göndermek için, hazırlanan paketi postalayıp gönderdik.

Örnek: 1. oluştur düğmesine basınca yeni bir dosya oluşturalım 2. Veri ekle düğmesine basınca,kullanıcının var olan dosyaya veri ekledik. 3. dosyayı oku düğmesine basınca,oluşturulan dosyayının içeriğini ekrana yazdırın. 4. sil düğmesine basınca,oluşturulan dosyayı sildik 5. kapat düğmesine basınca grafik arayüzünü kapattık ilk olarak hangi dizin atinda çalışıyoruz bakalım,dosyamızı nereye açmak istiyoruz.python komut satırına >>> import os >>> os.getcwd() '/home/user/desktop' yukardaki dizin Linux üzerinde uygulamamdır,windowsta farklı çıkabilir hangi dizin altında ise onu yazın. Dizin ayracını öğrenmek isterseniz >>> os.sep '/'

#!/usr/bin/env python window.geometry("600x250+10+15") window.title("dosya oluşturma\dosyaya Veri eklema\dosyayi okuma\dosyayi Silme") def olustur(): file=open("/home/user/desktop/dosya.txt","w") file.write("python uygulama\n") button=button(text="olustur",command=olustur,fg="white",activebackground="blue",bg="red",cursor ="heart",font="arial 14 bold") def veri_ekle(): file=open("/home/user/desktop/dosya.txt","a") n=raw_input("dosyaya veri ekleyin:") file.write(n) button=button(text="dosyaya veri ekle",command=veri_ekle,fg="red",activebackground="pink",bg="blue",cursor="heart",font="arial 14 bold") def dosyayi_oku(): file=open("/home/user/desktop/dosya.txt").readlines() label1=label(text="dosyanin içeriği") label1.pack() label2=label(text=file) label2.pack() button=button(text="dosyayi Oku",command=dosyayi_oku,fg="white",activebackground="blue",bg="red",cursor="heart",font="Ari al 14 bold") def dosyayi_sil(): import os file=open("/home/user/desktop/dosya.txt") os.remove("/home/user/desktop/dosya.txt") button=button(text="dosyayi sil",command=dosyayi_sil,fg="red",activebackground="pink",bg="blue",cursor="heart",font="arial 14 bold")

Düğmelerin pencere üstünde böyle alt altla görünmesini istemiyor olabilirsiniz.bunun için kodumuza şu eklemeleri yapmamız gerekiyor. Paketleme aşamasında düğmelerden birine side=left parametresini ekleyerek o düğmeyi sola,öbürünede side=right parametesini sağa yaslıyoruz. #!/usr/bin/env python window.geometry("600x250+10+15") window.title("dosya oluşturma\dosyaya Veri eklema\dosyayi okuma\dosyayi Silme") def olustur(): file=open("/home/user/desktop/dosya.txt","w") file.write("python uygulama\n") button=button(text="olustur",command=olustur,fg="white",activebackground="blue",bg="red",cursor="heart",font="arial 14 bold") def veri_ekle(): file=open("/home/user/desktop/dosya.txt","a") n=raw_input("dosyaya veri ekleyin:") file.write(n) button=button(text="dosyaya veri ekle",command=veri_ekle,fg="red",activebackground="pink",bg="blue",cursor="heart",font="arial 14 bold") def dosyayi_oku(): file=open("/home/user/desktop/dosya.txt").readlines() label1=label(text="dosyanin içeriği") label1.pack() label2=label(text=file) label2.pack() button=button(text="dosyayi Oku",command=dosyayi_oku,fg="white",activebackground="blue",bg="red",cursor="heart",font="Arial 14 bold") button.pack(side=right)

def dosyayi_sil(): import os file=open("/home/user/desktop/dosya.txt") os.remove("/home/user/desktop/dosya.txt") button=button(text="dosyayi sil",command=dosyayi_sil,fg="red",activebackground="pink",bg="blue",cursor="heart",font="arial 14 bold") button.pack(side=left) Entry Pencere Aracı Bu araç yardımıyla kullanıcının metin girebileceği tek satırlık bir alan oluşturacağız.bu pencere aracının kullanımıda diğer araçların kullanımına benzer. #!/usr/bin/env python window.geometry("200x250+10+15") window.title("entry pencere araci") giris=entry(bg="white",width="10") giris.pack() giris adını verdiğimiz Entry() aracını rahatlıkla oluşturabiliyoruz.width(genişlik)=10,olarak gösterdik,sonra pencere aracını paketledik bunu giris.pack() satırı yardımıyla hallediyoruz. Kullanıcıya tek satırlık metin girme imkanı veren bir arayüz oluşturmuş olduk. *Herhangi bir pencere aracı oluşturduktan sonra pack ifadesi yardımıyla pencere aracımızı paketliyorduk.geomteri Yöneticileri bir pencere aracının nasıl görüneceğini,nerede duracağını belirlerler. Tkinterde üç adet Geometri Yönetisi bulunur. Pack Geometri Yöneticisi Grid Geometri Yöneticisi Place Geometri Yöneticisi Bu geometri Yöneticilerinin herbirinin ayrı özellikleri vardır ve bunların her biri belli bir işlevi yerine getirmede daha başarılıdır.pack ve Grid Geometri Yöneticileri genel olarak hemen her işi yapmamıza izin verir.o yüzden bu iki Yönetici gayet kullanışlıdır.place Geometri Yöneticisi ise pencere araçlarını pencere üzerinde yerli yerine oturtma konusunda çok ustadır. O yüzden pencere araçlarını istediğimiz şekilde pencere üzerine konumlandırmak istediğimiz zaman bu işi en kolay Place Geometri Yöneticisi yardımıyla yapabiliriz.geometri Yöneticileri ile ilgili aklımızda tutmamız gereken en önemli şey aynı pencere üzerinde birbirinden farklı Yöneticileri bir arada kullanmamaktır.pencere araçlarını istediğimiz şekilde dizmek için en uygun geometri yöneticisi place adlı olandır. Burada dikkatimizi çeken relx ve rely seçenekleri koordiatlarını gösteriyor.buna göre x düzlemi üzerinde 0.0 konumunda ;y düzlemi üzerinde ise 0.1 konumunda yer alıyor.yani yukarıdan aşağıya 0.0,soldan sağa 0.1 konumunda bulunyor pencere aracımız.

Örnek : 1.Basit Bir grafik arayüzü oluşturalım. 2.iki kutuluk Entry() aracı oluşturalım: 3.Entry() araçlarından aldığımız karakter dizilerini tek tek sayıya dönüştürelim 4. bunları birbiriyle toplayıp print() fonksiyonu yardımıyla ekrana çıktı olarak verelim. #!/usr/bin/env python window.title("iki sayinin Toplami") window.geometry("250x200+10+10") def toplama(): veri1=entry1.get() veri2=entry2.get() sayi1=int(veri1) sayi2=int(veri2) sonuc="%s+%s=%s"%(sayi1,sayi2,sayi1+sayi2) print sonuc label=label(text="sayi1") label.place(relx=0.0,rely=0.0) entry1=entry(bg="white",width=8) entry1.place(relx=0.1,rely=0.0) label=label(text="sayi2") label.place(relx=0.0,rely=0.1) entry2=entry(bg="white",width=8) entry2.place(relx=0.1,rely=0.1) button=button(text="topla",command=toplama,activebackground="blue",bg="red") button.place(relx=0.0,rely=0.4)

kutuya ne yazarsanız yazın, yazdığınız şey her defasında bir karakter dizisi olarak alınacaktır. Peki bu bilgi neden bu kadar önemli? Eğer get() ile gelen verinin karakter dizisi olduğunu bilmezseniz, kullanıcının girdiği verilerle mesela aritmetik işlem yapamazsınız! Burada gördüğünüz gibi, kullanıcının kutuya girdiği değeri get() metoduyla aldıktan sonra int() fonksiyonunu kullanarak bir sayıya çevirdik. Eğer bu işlemi yapmazsak programımız hata verecektir. Çünkü bildiğiniz gibi karakter dizileriyle aritmetik işlem yapılamaz.bu bilgiyi biraz önce oluşturduğumuz iki kutuluk arayüze de uyguladık: get() metodunu anlatırken verdiğimiz son kodlarda, toplama işleminin sonucunu komut satırına yazdırdık. Bildiğiniz gibi, eğer isteseydik bu işlemin sonucunu bir Label() aracına da yazdırabilirdik: window.title("iki sayinin Toplami") window.geometry("250x200+10+10") def toplama(): veri1=entry1.get() veri2=entry2.get() sayi1=int(veri1) sayi2=int(veri2) sonuc="%s+%s=%s"%(sayi1,sayi2,sayi1+sayi2) label=label(text=sonuc) label.place(relx=0.2,rely=0.4) label=label(text="sayi1") label.place(relx=0.0,rely=0.0) entry1=entry(bg="white",width=8) entry1.place(relx=0.1,rely=0.0) label=label(text="sayi2") label.place(relx=0.0,rely=0.1) entry2=entry(bg="white",width=8) entry2.place(relx=0.1,rely=0.1) button=button(text="topla",command=toplama,activebackground="blue",bg="red") button.place(relx=0.0,rely=0.4)

Entry() aracından veri Silmek Bu satır sayesinde girişteki sayı ekrana basıldıktan sonra ekranın 0.konumundan sonuncu konumuna kadar bütün herşeyi siliyoruz.böylelikle ikinci gelecek sayi için yer açmış oluyoruz. window.title("iki sayinin Toplami") window.geometry("250x200+10+10") def toplama(): veri1=entry1.get() veri2=entry2.get() sayi1=int(veri1) sayi2=int(veri2) entry1.delete(0,end) entry2.delete(0,end) sonuc="%s+%s=%s"%(sayi1,sayi2,sayi1+sayi2) label=label(text=sonuc) label.place(relx=0.2,rely=0.4) label=label(text="sayi1") label.place(relx=0.0,rely=0.0) entry1=entry(bg="white",width=8) entry1.place(relx=0.1,rely=0.0) label=label(text="sayi2") label.place(relx=0.0,rely=0.1) entry2=entry(bg="white",width=8) entry2.place(relx=0.1,rely=0.1) button=button(text="topla",command=toplama,activebackground="blue",bg="red") button.place(relx=0.0,rely=0.4)