Nemrég jelentették be a wxWidgets 3.2.0 platformfüggetlen eszközkészlet új stabil ágának első kiadását , amely lehetővé teszi grafikus felületek létrehozását Linux, Windows, macOS, UNIX és mobil platformokra.
A 3.0-s verzióhoz képest számos API-szintű inkompatibilitás van. Más eszközkészletekkel ellentétben a wxWidgets egy valóban natív megjelenésű alkalmazást biztosít a célrendszer számára, rendszer API-kat használva a grafikus felhasználói felület szimulálása helyett.
A wxWidgets-et leginkább natív eszközkészletként lehet leírni, mivel egy vékony absztrakciós réteget biztosít a platform natív vezérlőihez, szemben a primitív grafikákat használó vezérlők emulálásával. A natív vezérlők használata a meglévő platformokon lehetővé teszi számunkra, hogy natívabb vizuális eredményeket érjünk el a grafikus felületen, mint más könyvtárak, például a Swing (Javához), a jobb teljesítmény és egyéb előnyök mellett.
A wxWidgets nem csak a grafikus interfészek fejlesztésére korlátozódik, ez azért van, mert a könyvtár rendelkezik egy réteg kommunikációs inter-folyamattal, a hálózat funkcionalitásával, például socketekkel és még sok mással.
A wxWidgetek főbb újdonságai 3.2.0
Ez az új verzió a wxQt egy új kísérleti portjának implementációját emeli ki , amely lehetővé teszi a wxWidgets futtatását a Qt keretrendszeren, míg a wxGTK port teljes támogatást nyújt a Wayland protokollhoz.
Ezenkívül kiemelésre került a nagy pixelsűrűségű (High DPI) kijelzők támogatása, valamint a különböző monitorokhoz különböző DPI-beállítások hozzárendelésének és a DPI-beállítások dinamikus módosításának lehetősége. Továbbá egy új wxBitmapBundle API-t javasoltak, amely lehetővé teszi a különböző felbontásokon megjelenített különféle bitkép-opciók együttes kezelését.
Egy másik figyelemre méltó változás egy új, CMake-alapú build rendszer bevezetése , amely támogatást nyújt az új fordítókhoz (beleértve az MSVS 2022-t, a g++12-t és a clang14-et) és operációs rendszerekhez a build rendszer számára.
Szintén említésre méltó az átdolgozott OpenGL kompatibilitás , az OpenGL újabb verzióinak (3.2+) jobb használata, valamint az LZMA tömörítés és a 64 bites ZIP fájlok támogatása.
Másrészt a jobb fordítási idejű biztonságot is kiemeli, mivel lehetővé teszi a wxString és a "char*" típusú karakterláncok közötti veszélyes implicit konverziók letiltását, valamint az egérrel lejátszott gesztusok vezérlésére szolgáló események támogatását.
A wxFont és wxGraphicsContext osztályok mostantól lehetővé teszik nem egész számok megadását a betűméret és a stylus szélességének meghatározásakor. A wxStaticBox osztály lehetővé teszi tetszőleges címkék hozzárendelését az ablakokhoz.
Egyéb figyelemre méltó változások a következők:
- A HTTPS és a HTTP/2 támogatása hozzáadásra került a wxWebRequest API-hoz.
- Támogatás hozzáadva az oszlopok és sorok rögzítéséhez a wxGrid osztályban.
- Továbbfejlesztett támogatás a macOS platformhoz, beleértve a sötét téma használatának lehetőségét és az ARM processzorokon alapuló eszközök további támogatását.
- Továbbfejlesztések történtek a C++11 szabvány támogatása érdekében. Hozzáadott támogatás a C++20 fordítókkal való összeállításhoz.
- Az összes mellékelt harmadik féltől származó könyvtár frissítve lett. A WebKit 2 és a GStreamer 1.7 támogatása hozzáadva.
Végül, ha többet szeretnél megtudni, a részleteket ezen a linken találod .
Töltse le a wxWidgets alkalmazást
Azok számára, akik szeretnék letölteni és telepíteni ezt az eszköztárat, beszerezhetik a cél operációs rendszerhez tartozó csomagokat (Windows, Mac vagy Linux) a hivatalos weboldalról a letöltési részben.
Azok esetében, akik Debian-t, Ubuntut vagy ezek valamilyen származékát használják, a következőket beírva a terminálba fordíthatnak.
sudo apt-get install libgtk-3-dev build-essential checkinstall
Folytatják a hivatalos weboldalról letöltött csomag kibontását, és belépnek a kapott mappába. Itt megnyithatnak egy terminált, amely a mappa elérési útjában helyezkedik el, vagy elhelyezhetik magukat a terminál mappájában.
És folytatjuk a fordítást:
mkdir gtk-build
cd gtk-build/
../configure --disable-shared --enable-unicode
make