Tüm dillerde geçerli - GUI'ye sahip uygulamalar nasıl çalışır?

Evet, selamlar.


Bu yazımda GUI tabanlı uygulamaların nasıl çalıştığına bakacağız.

GUI'nin ne olduğunu hepiniz biliyorsunuz sanırım. Günlük hayatta kullandığımız çoğu uygulama GUI tabanlı uygulamadır. Grafik arayüze sahiptir.

1600682648708.png
(Resim internetten alınmıştır.)

GUI tabanlı uygulamalarda, her şey bir penceredir. Örneğin yukarıdaki uygulamayı ele alacak olursak, buradaki sayıların girildiği metin kutuları, "Add" butonu gibi nesneler de bir penceredir. Ana pencerenin "child window'u" diye geçerler. (Az sonra parent-child ilişkisini ele alacağım.)

Öncelikle, GUI tabanlı uygulamaların nasıl çalıştığını anlayabilmemiz için, klasik uygulamaların nasıl çalıştığını bilmemiz gerekir. Ben size şöyle bir "pseudocode" parçası ile açıklayayım.

Kod:
//Genel uygulama yapısı

while(calismak){

veriyiAl();

veriyiKullan();

CikisYap();

}

Kodda da anlayabildiğiniz gibi, klasik uygulamalarda, çalışma zamanı içerisinde kullanıcıdan veri alınır, sonra o veri işlenir ve çıkış yapılır.

Fakat GUI'li uygulamalarda böyle değil. GUI'li uygulamalarda kodlar parça parça (code nuggets, code snippets) çalıştırılır. Bu parçalar event-handling gibi parçalardır. Yani olabilecek olaylar olduğu zaman ne yapılabileceğini yazarız. Örneğin, yukarıdaki uygulamayı tekrar ele alacak olursak, butona tıklandığı zaman sayıların eklenmesi, bir kod parçasıdır.

Bir "pseudocode" ile daha açıklayayım.

Kod:
/*Burada kodun gerisi bulunmakta...*/

GUICalculator::OnButtonAddClicked(){ //Ana sınıfımız olan pencere sınıfımızı

TextBoxFinal.Text = (int)TextBox1.text + (int)TextBox2.text; //"Tip dönüşümü" yapma sebebim ise, programlama dilleri string'leri toplamak isteyecektir ve bu da kötü bir sonucu doğuracaktır.



}

/*Burada kodun devamı bulunmakta...*/

Gördüğünüz gibi, "Add" butonuna tıklanınca ne olacağını temsil edecek hayali bir kod yazdık.

Parent-child ilişkisi

GUI uygulamalarında parent-child ilişkisi bulunmaktadır. Örneğin, yukarıdaki uygulamada görmüş olduğunuz tüm nesnelerin (textbox, buton vs.) parent'ı, yani bağlı oldukları nesnesi ana pencere kutucuğudur. Şöyle bir ağaç görünümü oluşturabilirim sanırım yukarıdaki uygulama için.

Kod:
MainWindow
-->TextBox1
-->TextBox2
-->TextBox3
-->AddButton

Örneğin bir butona bastığımızda pencere içinde pencerenin açılması gibi gibi olaylar parent-child ilişkisi ile bağlıdır.


Yazımı okuduğunuz için teşekkür ederim.

Yorumlar

Gösterilecek yorum bulunamadı.

Blog girdisi detayları

Ekleyen
TerabyteForever
Okuma süresi
2 dakika okuma
Görüntüleme
1.063
Son güncelleme

Yazılım kategorisindeki diğer girdiler

TerabyteForever adlı kullanıcının diğer girdileri

Bu girdiyi paylaş

Geri
Yukarı