Linux, Windows, macOS, UNIX ve mobil platformlar için grafik arayüzler oluşturmaya olanak sağlayan, platformlar arası araç seti wxWidgets 3.2.0'ın yeni kararlı sürümünün ilk versiyonu yakın zamanda duyuruldu .
3.0 sürümüne kıyasla, API düzeyinde çeşitli uyumsuzluklar mevcuttur. Diğer araç setlerinden farklı olarak, wxWidgets , bir GUI'yi simüle etmek yerine sistem API'lerini kullanarak hedef sistem için gerçekten yerel görünümlü bir uygulama sağlar .
wxWidgets, temel grafikler kullanarak kontrolleri taklit etmek yerine , bir platformun yerel kontrollerine ince bir soyutlama katmanı sağladığı için en iyi şekilde yerel bir araç seti olarak tanımlanabilir . Mevcut platformlarda yerel kontrolleri kullanmak, Swing (Java için) gibi diğer kütüphanelere kıyasla grafik arayüzü için daha yerel görsel sonuçlar elde etmemizi sağlar ve ayrıca daha iyi performans ve diğer avantajlar sunar.
wxWidgets yalnızca grafik arabirimlerin geliştirilmesiyle sınırlı değildir, bunun nedeni kitaplığın bir iletişim ara süreçleri katmanına, ağ için soketler gibi işlevlere ve daha fazlasına sahip olmasıdır.
WxWidgets 3.2.0'ün başlıca yeni özellikleri
Bu yeni sürüm, wxWidgets'in Qt çerçevesinde çalışmasına olanak tanıyan yeni bir deneysel wxQt portunun uygulanmasını öne çıkarırken, wxGTK portu da Wayland protokolü için tam destek sağlıyor.
Ek olarak, yüksek piksel yoğunluğuna (Yüksek DPI) sahip ekranlar için desteğin eklendiği, farklı monitörlere farklı DPI ayarları atama ve DPI ayarlarını dinamik olarak değiştirme özelliğinin de getirildiği vurgulanmaktadır . Ayrıca, farklı çözünürlüklerde sunulan çeşitli bitmap seçeneklerini birlikte işlemenizi sağlayan yeni bir wxBitmapBundle API'si önerilmiştir.
Bir diğer önemli değişiklik ise, yeni derleyiciler (MSVS 2022, g++12 ve clang14 dahil) ve işletim sistemleri için destek ekleyen yeni bir CMake tabanlı derleme sisteminin getirilmesidir .
Ayrıca, yeniden düzenlenmiş OpenGL uyumluluğu , OpenGL'in daha yeni sürümlerinin (3.2+) daha iyi kullanımı ve LZMA sıkıştırması ile 64 bit ZIP dosyaları için eklenen destek de dikkat çekicidir .
Öte yandan, wxString ve "char*" türündeki dizeler arasındaki tehlikeli örtük dönüştürmeleri devre dışı bırakma yeteneğiyle geliştirilmiş derleme zamanı güvenliğini de vurgular ve fareyle oynatılan hareketleri kontrol etmek için olaylar için destek ekledi.
wxFont ve wxGraphicsContext sınıfları artık yazı tipi boyutu ve kalem genişliği belirlenirken tam sayı olmayan değerlerin belirtilmesine olanak tanıyor . wxStaticBox sınıfı ise pencerelere rastgele etiketler atama özelliğini uyguluyor.
Diğer önemli değişiklikler şunlardır:
- wxWebRequest API'sine HTTPS ve HTTP/2 desteÄŸi eklendi.
- wxGrid sınıfındaki sütunları ve satırları dondurma desteği eklendi.
- Karanlık bir tema kullanma yeteneği ve ARM işlemcilere dayalı cihazlar için ek destek dahil olmak üzere macOS platformu için geliştirilmiş destek.
- C++11 standardını desteklemek için geliştirmeler yapılmıştır. C++20 derleyicileri tarafından montaj desteği eklendi.
- Dahil edilen tüm üçüncü taraf kitaplıkları güncellendi. WebKit 2 ve GStreamer 1.7 için destek eklendi.
Son olarak, daha fazla bilgi edinmek isterseniz, bu bağlantıyı takip ederek detaylara ulaşabilirsiniz .
WxWidgets'ı indirin
Bu araç setini indirip yükleyebilmek isteyenler, hedef işletim sistemi (Windows, Mac veya Linux) paketlerini indirme bölümündeki resmi web sitesinden edinebilirler.
Debian, Ubuntu veya bunların bir türevini kullananların olması durumunda, terminalde aşağıdakileri yazarak derleme yapabilirler.
sudo apt-get install libgtk-3-dev build-essential checkinstall
Resmi web sitesinden indirdikleri paketi açmaya ve sonuçtaki klasöre girmeye devam ederler. Burada klasör yolunda bulunan bir terminali açabilir veya kendilerini terminaldeki klasörün içine yerleştirebilirler.
Ve ÅŸu ÅŸekilde derlemeye devam ediyoruz:
mkdir gtk-build
cd gtk-build/
../configure --disable-shared --enable-unicode
make