Uygulamalar için 3. taraf programlar olmadan GUI nasıl hazırlanır?

Sky_Fly

Femtopat
Katılım
27 Ocak 2021
Mesajlar
57
Yer
BOEING
Uygulamalar için 3. taraf programlar olmadan GUI nasıl hazırlanır?
Mesela C++ üzerinden araştırma yaptım fakat pek bir kaynak çıkmadı. Mesela Microsoft Visual Studio için button, text label vb. bileşenleri nasıl yaptı?
 
Son düzenleyen: Moderatör:
Grafik Cihazının Driverindan başlıyor burda driver işletim sisteminin driver apisiyle yaziliyor . Bundan sonra bu driveri kullanarak diğer programlara arayüz sağlayan kütüphaneler var mesela opengl ve direct3d var 3d oyunlar için. windows'un da senin bahsettiğin bu butonlar vb icin winapi de bir kütüphanesi vardir . Visual Studio'nun winform wpf gibi csharp kütüphaneleride bu c/c++ ile yazılmış arayüz kütüphanelerini abstract ediyorlar . Oyun motorlarida opengl directx gibi kütüphaneleri abstract ediyor .
 
Grafik Cihazının Driverindan başlıyor burda driver işletim sisteminin driver apisiyle yaziliyor . Bundan sonra bu driveri kullanarak diğer programlara arayüz sağlayan kütüphaneler var mesela opengl ve direct3d var 3d oyunlar için. windows'un da senin bahsettiğin bu butonlar vb icin winapi de bir kütüphanesi vardir . Visual Studio'nun winform wpf gibi csharp kütüphaneleride bu c/c++ ile yazılmış arayüz kütüphanelerini abstract ediyorlar . Oyun motorlarida opengl directx gibi kütüphaneleri abstract ediyor .
Yani mesela örneğin bir buton yaratacaksak ekrana önce butonu çizdirip sonra buton üstüne mouse ile gelince ne olacak, tıklayınca ne olacak gibi olayları önceden tanımlayarak mı oluşturacağız?
 
Değişik değişik yönleri var, açıkçası Internet üzerinde sonuç bulamamanız garibime gitti. wxWidgets, QT, GTK gibi GUI framework'lerinin yanı sıra işletim sistemlerinin kendilerine has API'leri var. Örneğin Windows için Win32 API'si, MFC kütüphanesi gibi.

Ama wxWidgets veya QT kullanmanızı tavsiye ederim. Çapraz platform çalıştırılabildikleri için bir yazılımı başka işletim sistemlerinde çalıştırmak kolay oluyor. İşletim sistemlerinin GUI kütüphanelerini kullandığınız zaman bu kadar portabilite elde edemiyorsunuz maalesef.

Yani mesela örneğin bir buton yaratacaksak ekrana önce butonu çizdirip sonra buton üstüne mouse ile gelince ne olacak, tıklayınca ne olacak gibi olayları önceden tanımlayarak mı oluşturacağız?

Bu soruya da cevap vermek istiyorum el atmışken madem. GUI tabanlı programlama, klasik konsol uygulaması programlamanın aksine olaylar ile çalışır. Örneğin wxWidgets'ta önceden tanımlanan olaylar (events) vardır. Örneğin butonun kliklenmesi, wxWidgets'ta bir olay olarak önceden tanımlıdır. Bu olayı butona atanmış olan ID'ye bağlarsınız. Böylece buton kliklendiği zaman sizin belirttiğiniz fonksiyondaki kod çalıştırılır.
 
Son düzenleme:

Yeni konular

Geri
Yukarı