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

Bolum 9. Konu Başlıkları

ÖĞRENME FAALĠYETĠ GELĠġMĠġ ÖZELLĠKLER

B A. A = B [(A B) (B A)] (2)

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

A = i I{B i : B i S} A = x A{B x A : B x S}

BOOTLOADER MANUAL DOCUMENT

ÖĞRENME FAALĠYETĠ 6 ÖĞRENME FAALĠYETĠ NESNE ĠġLEMLERĠ

Note: If you want to validate a page containing frames, be sure the DTD is set to "Frameset DTD". Read more about XHTML Validation.

Bilgisayar Uygulamaları PSİ105

Temel Bilgisayar Programlama

12 TBT / WEB TASARIM ve PROGRAMLAMA ( Not 3 )

x = [x] = [x] β = {y (x,y) β} (8.5) X = {x x X}. x,y X [(x = y) (x y = )]. b(b [x]) b [y] [x] [y] (8.8)

f 1 (H ) T f 1 (H ) = T

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

ve Menüleri Özelleştirmek, Sistem Ayarlarını Değiştirmek

Yandaki resimlerde Excel Pazartesi den başlayarak günleri otomatik olarak doldurmuştur.

Bilgisayar Programcılığı. Görsel Programlama-I. Öğr. Gör. Cansu AYVAZ GÜVEN

Genel bilgiler Windows gezgini Kes Kopyala Yapıştır komutları. 4 Bilinen Dosya Uzantıları

Çarpm ve Bölüm Uzaylar

Temel JavaFX Bileşenleri (1) Labeled, Label, Button, ToggleButton, RadioButton, ToggleGroup, CheckBox, ComboBox, Slider, ListView ve SelectionModel

A = i IA i = i I A = A = i IA i = {x α((α I) (x A α ))} (7.7) A = (α,β I) (α β) A α A β = (7.8) A A

MODÜL : 1 BİLGİSAYAR KULLANMA

3. BELGE DENETİMİ. Bu bölümde belge denetimi için gerekli olan yazım, dil bilgisi ve dil ayarlarını öğreneceğiz.

Q-BIZ VIEWER KULLANIM KILAVUZU

Ribbon. olarak. zaman taraftaki otomatik olarak gelen Ribbon

Simülasyon Modellemesi

LABORATUVAR ÇALIŞMASI 1 - Python a Giriş

MAT214 BİLGİSAYAR PROGRAMLAMA II DERSİ Ders 12: Grafik Kullanıcı Arayüzü (Graphical User Interface-GUI)

HESAP MAKİNASI YAPIMI

Temel Bilgisayar Terimleri Yrd. Doç. Dr. Devkan Kaleci

JavaScript Örnekleri PDF

(i) (0,2], (ii) (0,1], (iii) [1,2), (iv) (1,2]

Cebir II 2008 Bahar

SOYUT MATEMAT K DERS NOTLARI. Yrd. Doç. Dr. Hüseyin B LG Ç

Python Programlama Dili

AUTOCAD 2D UYGULAMA AUTOCAD Uygulama Süresi: 5 dk. Uygulama Seviyesi: Zor. Eğitmen / Bölüm Başkan Yrd. Ali İhsan DEĞİRMENCİ TAMAMLANMIŞ GÖRSEL

SÜRE BİLİŞİM TEKNOLOJİLERİ ÜNİTE 1: : BİLGİ VE TEKNOLOJİ DERS SAATİ: 7

C# Programlama. Visual Studio 2010 Arayüzü. Prof. Dr. Ümit KOCABIÇAK SAKARYA ÜNİVERSİTESİ

B02.8 Bölüm Değerlendirmeleri ve Özet

S = {T Y, X S T T, S S} (9.1)

Web Tasarımının Temelleri

DOKÜMAN YÖNETİM SİSTEMİ KULLANIMI GELEN EVRAK

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

Ö RENME FAAL YET 9 Ö RENME FAAL YET 9

Uzem Eğitmen Girişi. Şekil 1. Sisteme girdikten sonra Şekil 2 deki ekran karşımıza çıkacak. Bu ekrandaki adımları kısaca tanıyalım.

UYGULAMALAR. İkinci liste kutusu (List 2) Birinci liste Kutusu (List 1) Metin Kutusu

1 BOOTSTRAP NEDİR? 1 Bootstrap Nedir? 1 Bootstrap Dosyalarının Siteye Dahil Edilmesi 2 Bootstrap ın Sağladığı Kolaylıklar 3

1. C dilinde fonksiyon bildirimi için hangisi gereklidir?

Message Broadcasting. İşletim ortamı. Message Broadcasting'in Yüklenmesi. Mesaj Oluşturma

ETKİLEŞİMLİ TAHTA KORUMA SİSTEMİ KURULUM

C# Form Uygulamaları. Nesne Tabanlı Programlama I (C#) Ders Notu. S.Ü.Akören A.R.E. Meslek Yüksekokulu C.ÖZCAN- F.SARAY

YZM 2105 Nesneye Yönelik Programlama

Ç NDEK LER 1 GRAF K TASARIM 1 Grafik Tasar m Nedir? 1 Türkiye de Grafik Tasar m Sektörü 3 Vektör Nedir? 4 Bitmap Nedir? 6 Neden CorelDraw?

TEMEL BİLGİSAYAR. Ders Notları. Yrd. Doç. Dr. Seyit Okan KARA

Braille Star 40 Başvuru Kitapçığı Sürüm 4.0 Lütfen bu başvuru kitapçığıyla birlikte paketinizde bulunan kullanıcı kılavuzunu da gözden geçirin.

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

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: BİL 1007

Nesneye Dayalı Programlama Laboratuvarı

11. TASARIM ŞABLONU KULLANARAK SUNU HAZIRLAMAK

A = {x Φ(x) p(x)} = {x (x E φ ) p(x)}

Uzaktan Kumanda (Yalnızca Belirli Modellerde)

Sketch Up. - Bilgisayar Dersleri 1. 3 Boyutlu Çizimler ve Google

Digitus un alışılmış kutu tasarımı Powerline Wireless 300N Access Point in kutusu için de geçerli. Ürünün ön kısmında yeşil ve beyaz renkler

f( F) f(f) K = K F f 1 f( F) f 1 (K) = F F f 1 (S ) = [f 1 (S)] f(x) S V

Görsel Programlama (Visual Programming) 2.Hafta

BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ

int printf (const char *format [, argument,...]);

Microsoft Office Access Ders İçeriği 25 Saat. Access Temel 10 saat

TOPOLOJ TEST B. (d) Dizinin limiti yoktur; y lma noktas yoktur. 4. Dizisel süreklilik hangi uzaylarda süreklili e denktir?

Şekil 1. Sistem Açılış Sayfası

Alienware Grafik Yükseltici Kullanıcı Kılavuzu


Görsel Programlama (Visual Programming) 2.Hafta

İşaret Aygıtları ve Klavye Kullanıcı Kılavuzu

BİT ini Kullanarak Bilgiye Ulaşma ve Biçimlendirme (web tarayıcıları, eklentiler, arama motorları, ansiklopediler, çevrimiçi kütüphaneler ve sanal

İNTERNET PROGRAMCILIĞI I

İşletim Sisteminin Katmanları

MAT223 AYRIK MATEMATİK

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

Ders 8: Metotlar. barisgokce.com

Bö lü m 6: Kelime İ şlemciler

16. Kesit ve Cephe Aracı

Karabük Üniversitesi, Mühendislik Fakültesi... WEB TEKNOLOJİLERİ

DERS 5: REVOLVE. 1. Front Plane de bir sketch açın ve Line komutunu kullanarak aşağıdaki formu çizin ve ölçülendirin.

Bölgeler kullanarak yer çekimini kaldırabilir, sisli ortamlar yaratabilirsiniz.

5. Hafta Kontrollerin Genel Özellikleri BPR251 Görsel

YZM 2105 Nesneye Yönelik Programlama

TOPOLOGY TEST A³a dakilerden hangisi bir süzgeç de ildir? 3. A³a dakilerden hangisi a³kn bir süzgeç de ildir?

Para Arzı. Dr. Süleyman BOLAT

PHP ile İnternet Programlama

Site Tasarım Çalışması -3

Harici Ortam Kartları

Öğrenci Seçme Sınavı (Öss) / 14 Haziran Matematik I Soruları ve Çözümleri E) 6 ). 6 5 = 25 6 =

OYUN GELİŞTİRME AŞAMALARI-I

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

T.C. TURGUT ÖZAL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ İNŞAAT MÜHENDİSLİĞİ BÖLÜMÜ

TOPOLOJ TEST A. 1. A³a dakilerden hangisi topoloji tanmlama yöntemi de ildir?

Frame Çerçeveler Web sayfasını birden fazla html sayfa ile oluşturmaya imkan tanır. html örnekler\örnek17.html. örnek17.html

Ard fl k Say lar n Toplam

Transkript:

Bölüm 4 Button 4.1 Button Nedir? Button (dü me), tkinter içinde bir snftr; ba³ka bir deyi³le bir widget'tir. Üstelik, Button, öteki GUI araç çantalarnn hemen hepsinde ayn ad ile var olan standart bir widget'tir. Arayüzlerde biçemleri ve i³levleri farkl olan dü meler yaratlabilir. Genellikle, Button nesnesi üzerine onun i³levini belirten bir etiket konulur. Bu durumda, dü me bir Label nesnesi ta³yor olur. Ta³nan nesne Label'in özeliklerine sahip olur. Button üzerine konulan etiket için, Label snfnn özelikleri geçerli olaca na göre, button üzerine text, resim (ikon) ya da her ikisi birden konulabilir. Text birden çok satr içerebilir, ama bir button için bir tek font türü seçilebilir. Label için bildi imiz gibi, dü me üzerine yazlan bir text içindeki bir ve yalnzca bir harn alt çizgili olabilir. Bu özelik, ksa yol tu³lar tanmlarken i³e yarar. Arayüzlerde dü meler, ço unlukla, olay yönetimi için kullanlr. Dü - meye tkland nda bir python fonksiyonu ça rlr ve fonksiyonun belirledi i olay olu³ur. Arayüz üzerindeki bir dü meden sonrakine geçmek için Tab tu³u kullanlabilir. Tabii, bu i³ bir olay yönetimidir. Tab tu³una basld nda, sonraki dü meyi etkin klan fonksiyonun ça rlmas gerekir. Arayüzlerde, button widgetleri pencerenin ba³l nda, menü çubu- unda ya da araç kutusu (toolbox) gibi yerlerde çok kullanlr. Kullancyla etkile³imi sa layan Checkbutton ve Radiobutton widget'leri özel button tipleridir. Onlar ayrca inceleyece iz.

22 BÖLÜM 4. BUTTON 4.2 Button Örnekleri lk i³imiz arayüzde kullanaca mz bütün ö eleri (widget, fonksiyon, öznitelik vb) programa ça rmak olmaldr. Bunun için >>> from t k i n t e r i m p o r t deyimini yazyoruz. Bunu yapmazsak, kullanaca mz her aracn önüne, örne in, tkinter.button gibi tkinteri yazmalyz. Ayrca küçük arayüzler için, kodlar IDLE ile yazabiliriz. Ama karma³k arayüzler için, kodlarmz NotePad gibi basit bir kelime i³lemci ile yazp.py uzantl bir dosya olarak uygun bir dizine kaydetmeyi al³kanlk edinmeliyiz. Bunu yaparsak, yazd mz program her istedi imizde ça rp yeniden ko³turabiliriz. kinci i³ olarak, arayüzün anata³ycsn yaratmalyz. Anata³yc, arayüzün monitörde kaplad alandr; yani ekranda açlan bir penceredir. O pencere Tk snfnn bir nesnesidir. O nesneyi yaratmak için Tk() kurucu metodunu kullanyoruz. Yaratlan nesneye eri³ebilmek için, onu bir pointer ile göstermeliyiz. Al³kanlklarmza göre, bir nesne yaratnca onu i³aret eden bir pointer tanmlanmaldr. Bu pointeri bir de i³ken ad gibi görece iz. imdi Tk() kurucusunun yaratt nesneyi i³aret eden pointere win diyelim. win pointeri, yalnzca yaratt mz anata³ycy gösteriyor. O nedenle ona, anata³yc'nn adym³ gibi bakabiliriz. Anata³ycy yaratp ona win adn vermek için; >>> win=tk ( ) deyimini yazyoruz. imdi iki dü me yaratp, onlar win üzerine koyaca z. Dü meler Button snfndan türetilen nesnelerdir. >>> b1 = Button ( win, t e x t="dü me1" ) >>> b2 = Button ( win, t e x t="dü me2" ) deyimileri iki tane dü me yaratr. Açklamalar: b1, Button snfndan Button() kurucu metodu ile türetilen bir nesnedir. Bu nesneye button (dü me) diyoruz. Kurucu metodun iki parametresi var. Birinci parametre: win. Bu parametre, dü meyi ta³yacak olan nesneyi gösterir. Bu parametreye ta³yc widget denilir. leride, dü meleri ba³ka ta³yclar üzerine koyaca z. kinci parametre: text="dü me1". Bu parametre dü menin üzerine konulacak etikettir. Dü me üzerine Dü me1 yazsn yazar.

4.2. BUTTON ÖRNEKLERI 23 b2 dü mesi de benzer biçimde yaratlm³tr. imdi, programmzn sonuna mainloop() fonksiyonunu ekleyelim ve Liste 4.1 biçimini alan programmz basitbutton.py adyla yazp bir yere kaydedelim. Programa mainloop() fonksiyonu eklenmezse, arayüz monitörde görünmez. Liste 4.1. from t k i n t e r i m p o r t win = Tk ( ) 3 b1 = Button ( win, t e x t="dü me1" ) b2 = Button ( win, t e x t="dü me2" ) mainloop ( ) Bu program derleyip ko³turmak için python b a s i t B u t t o n. py yazmak yetecektir. Tabii, bu komutun çal³mas için, ortam de i³kenlerinin uygun biçimde ayarland n varsayyoruz. Ekrana gelen arayüz ekil 4.1 biçiminde olacaktr. ekil 4.1: Pack Manageri Çal³mazsa Bu ³ekilde, bizim yaratt mz b1 ve b2 dü meleri görünmüyor. Dü meleri görünür yapmak için, son satrdan önce b1.pack() ve b2.pack() konu³landrc deyimlerini eklemeliyiz. Pack tkinter'de bir konu³landrcdr (Layout Manager). leride ba³ka konu³landrclar görece iz. Konu³landrclar, yaratlan widgeti, ta³yc üzerine konu³landrr. Konu³landrc deyimlerini ekleyince, programmz Liste 4.2'deki gibi olur. Liste 4.2. from t k i n t e r i m p o r t win = Tk ( )

24 BÖLÜM 4. BUTTON b1 = Button ( win, t e x t="dü me1" ) 4 b2 = Button ( win, t e x t="dü me2" ) b1. pack ( ) b2. pack ( ) 9 mainloop ( ) Bu pogram derleyip ko³turunca ekrana ekil 4.2'deki arayüz çkar. ekil 4.2: Pack Manageri Çal³rsa ekil 4.2 arayüzü ba³lktaki ö eler ve dü melerin geni³li ine ve yüksekli ine göre, kendi boyutlarn ayarlam³tr. stenirse, arayüzün boyutlar ve dü melerin konu³lanma biçemleri de- i³tirilebilir. Pack konu³landrcs dü meleri (TOP, LEFT, RIGHT, BOT- TOM) seçeneklerine göre ta³ycya yerle³tirir. Bu seçenekler widgeti ya ta- ³ycya göre ya da önce konu³lanan widgete göre yerle³tirir. Örne in, Liste 4.2'deki pack() konu³landrclarn 1 >>> b2. pack ( s i d e=left) >>> b1. pack ( s i d e=left) biçiminde yazarsak, artayüzümüz ekil 4.3: Pack Manageri Çal³rsa biçemini alr. Bu konu³lanma estetik görünmüyor. O zaman dümelerle ta- ³ycnn kenarlar arasnda bir yastklama (padding) yapmak gerekebilir. Bunun için konu³landrc deyimlere yatay yastklama için padx, dü³ey yastklama için pady ekleyelim. Bunlarn ölçü birimi px (pixel)'dir. Program

4.2. BUTTON ÖRNEKLERI 25 Liste 4.3 biçimini alr. ekilden anla³ld gibi, yastklama ta³ycnn ve ilk dü menin sol dü³ey kenarlarna göre yaplm³tr. Böyle oldu unu görmek için, fare ile arayüzün boyutlarn büyültünüz. Liste 4.3. from t k i n t e r i m p o r t win = Tk ( ) 3 b1 = Button ( win, t e x t="dü me1" ) b2 = Button ( win, t e x t="dü me2" ) 8 b1. pack ( s i d e=left, padx=10) b2. pack ( s i d e=left, padx=10) mainloop ( ) Bu program ko³turursak, ekrana çkan arayüzümüz ekil 4.4 biçemini alr. biçemini alr. ekil 4.4: Pack Manageri Çal³rsa Liste 4.4. 1 from t k i n t e r i m p o r t anapencere = Tk ( ) d e f c a l l b a c k ( ) : 6 p r i n t ( " T k l a! " ) b = Button ( anapencere, t e x t=" Evet ", command=c a l l b a c k ) b. pack ( ) 11 mainloop ( ) Açklamalar: 1.satr tkinter modülündeki bütün ö eleri ça ryor. 3.satr Tk() kurucu metodu ile Tk snfndan bir nesne yaratyor. Bu nesnenin ad anapencere'dir ve arayüzün anata³ycsdr. anapencere, yaratlan nesneyi i³aret eden pointerdir. Ama, al³kanlklarmza uyarak, ana- Pencere pointerine anapencere nesnesi diyoruz. Böyle demekte bir saknca

26 BÖLÜM 4. BUTTON yoktur; çünkü, anapencere pointeri bir tek nesneyi i³aret ediyor ve i³aret edilen nesneyi, i³aret eden pointer ile adlandryoruz. 5.satr callback() adl bir fonksiyon tanmlyor. Bu fonksiyon, dü meye tklannca ekrana "Tkla" sözcü ünü yazyor. 8.satr, Button snfndan b adl bir nesne (dü me) yaratyor (b pointerinin i³aret etti i nesne). Burada Button() kurucu metodunun üç tane parametresi var. Birinci parametre anapencere adndaki nesnedir. Bu parametre, kurucu tarafndan yaratlan button'un anata³yc üzerine konulmasn istiyor. kinci parametre text="evet" ifadesidir. Bu parametre yaratlan dü menin üzerine Evet yazl label'i (etiket) koyuyor. Üçüncü command=callback parametresi, Evet dü mesine baslnca callback() fonksiyonunu ça ryor; yani onu yürütüyor. Ça rlan fonksiyon ekrana Tkla yazyor. Böylece, Evet dü mesine her tklay³ta callback() fonksiyonu ça rlyor ve o da ekrana "Tkla" sözcü ünü yazdryor. Bu satr, aslnda bir tür döngü olu³turuyor. 9.satrdaki pack() fonksiyonu, anata³ycnn boyutunu içeri ine uyacak biçimde ayarlyor. command=callback yazlmazsa, dü meye tklaynca hiç bir ³ey olmaz. Buradaki command terimi dü meye i³levsellik kazandryor. Bir olay oluyor ve o olay yönetiliyor. ekil 4.5: Button Yaratma Dü me üzerine yazlan command=callback olmasayd, dü meye tklaynca hiç bir ³ey olmazd. Buradaki command terimi dü meye i³lev kazandryor. Bir olay olu³uyor. Bazen arayüze konulan bir dü menin i³levsiz kalmas istenebilir. Onun için, Button() kurucu metodundaki üçüncü parametre de eri olarak state = DISABLED yazlr. Bu durumda Liste 4.4'in 8.satr ³u biçimi alr: b = Button ( anapencer, t e x t="yardm", s t a t e=disabled) Bu de i³ikli i yaptktan sonra Liste 4.4 programn ko³turursak, ekrana ekil 4.6'de görülen

4.2. BUTTON ÖRNEKLERI 27 ekil 4.6: ³levsiz Button arayüz gelir. Bu arayüzde Yardm dü mesine tklad mzda hiç bir eylem olmaz. Dü menin boyutlarn height ve width öznitelikleriyle ayarlayabiliriz. Örne in, Liste 4.4'in 8.satrn ³öyle de i³tirirsek, ekrana ekil 4.7'de görülen arayüz gelir. b = Button ( anapencere, t e x t='dur', width =25, command=c a l l b a c k ) ekil 4.7: Button Boyutunu Ayarlama