Pred kratkim je bila najavljena prva izdaja nove stabilne veje večplatformskega orodja wxWidgets 3.2.0 , ki omogoča ustvarjanje grafičnih vmesnikov za Linux, Windows, macOS, UNIX in mobilne platforme.
V primerjavi z vejo 3.0 obstaja več nezdružljivosti na ravni API-ja. Za razliko od drugih kompletov orodij wxWidgets ponuja resnično izvorno aplikacijo za ciljni sistem, ki uporablja sistemske API-je namesto simulacije grafičnega uporabniškega vmesnika.
wxWidgets je najbolje opisati kot izvorni nabor orodij, ker zagotavlja tanko plast abstrakcije izvornim kontrolnikom platforme, v nasprotju z emulacijo kontrolnikov z uporabo primitivne grafike. Uporaba izvornih kontrolnikov na obstoječih platformah nam omogoča doseganje bolj izvornih vizualnih rezultatov za grafični vmesnik kot druge knjižnice, kot je Swing (za Javo), poleg tega pa ponuja boljšo zmogljivost in druge prednosti.
wxWidgets ni omejen samo na razvoj grafičnih vmesnikov, ker knjižnica vsebuje plast komunikacijskih medprocesov, funkcionalnosti omrežja, kot so vtičnice, in še veliko več.
Glavne novosti pripomočkov wxWidgets 3.2.0
Ta nova različica poudarja implementacijo novega eksperimentalnega porta wxQt , ki omogoča delovanje wxWidgets na ogrodju Qt, medtem ko port wxGTK zagotavlja polno podporo za protokol Wayland.
Poleg tega je poudarjeno tudi, da je bila dodana podpora za zaslone z visoko gostoto slikovnih pik (High DPI), kot tudi možnost dodelitve različnih nastavitev DPI različnim monitorjem in dinamičnega spreminjanja nastavitev DPI. Poleg tega je bil predlagan nov API wxBitmapBundle, ki omogoča skupno upravljanje različnih možnosti bitnih slik, predstavljenih v različnih ločljivostih.
Druga pomembna sprememba je uvedba novega sistema gradnje, ki temelji na CMake in dodaja podporo za nove prevajalnike (vključno z MSVS 2022, g++12 in clang14) in operacijske sisteme za sistem gradnje.
Omeniti velja tudi prenovljeno združljivost z OpenGL , izboljšano uporabo novejših različic OpenGL (3.2+) ter dodano podporo za stiskanje LZMA in 64-bitne datoteke ZIP.
Po drugi strani pa poudarja tudi izboljšano varnost med prevajanjem z možnostjo onemogočanja nevarnih implicitnih pretvorb med nizi vrst wxString in "char*" ter dodano podporo za dogodke za nadzor potez, predvajanih z miško.
Razredi wxFont in wxGraphicsContext zdaj omogočata določitev neceloštevilskih vrednosti pri določanju velikosti pisave in širine pisala. Razred wxStaticBox implementira možnost dodeljevanja poljubnih oznak oknom.
Druge opazne spremembe vključujejo:
- API-ju wxWebRequest je bila dodana podpora za HTTPS in HTTP/2.
- Dodana podpora za zamrznitev stolpcev in vrstic v razredu wxGrid.
- Izboljšana podpora za platformo macOS, vključno z možnostjo uporabe temne teme in dodatno podporo za naprave, ki temeljijo na procesorjih ARM.
- Narejene so bile izboljšave za podporo standardu C++11. Dodana podpora za sestavljanje s prevajalniki C++20.
- Vse vključene knjižnice tretjih oseb so bile posodobljene. Dodana podpora za WebKit 2 in GStreamer 1.7.
Nenazadnje, če vas zanima več, lahko podrobnosti najdete na tej povezavi.
Prenesite wxWidgets
Za tiste, ki jih zanima prenos in namestitev tega kompleta orodij, lahko pakete za ciljni operacijski sistem (Windows, Mac ali Linux) dobijo na uradni spletni strani v razdelku za prenos
V primeru tistih, ki uporabljajo Debian, Ubuntu ali kakšen njihov derivat, lahko prevedejo tako, da v terminal vnesejo naslednje.
sudo apt-get install libgtk-3-dev build-essential checkinstall
Nadaljujejo z razpakiranjem paketa, ki so ga prenesli z uradne spletne strani, in vnesejo nastalo mapo. Tu lahko odprejo terminal, ki je postavljen na pot mape, ali pa se postavijo v mapo na terminalu.
In nadaljujemo z zbiranjem z:
mkdir gtk-build
cd gtk-build/
../configure --disable-shared --enable-unicode
make