Recent a fost anunțată prima lansare a unei noi ramuri stabile a setului de instrumente multiplatformă wxWidgets 3.2.0 , care permite crearea de interfețe grafice pentru Linux, Windows, macOS, UNIX și platforme mobile.
Comparativ cu ramura 3.0, există mai multe incompatibilități la nivel de API. Spre deosebire de alte seturi de instrumente, wxWidgets oferă o aplicație cu aspect cu adevărat nativ pentru sistemul țintă, utilizând API-uri de sistem în loc să simuleze o interfață grafică.
wxWidgets este cel mai bine descris ca un set de instrumente native, deoarece oferă un strat subțire de abstractizare controalelor native ale unei platforme, spre deosebire de emularea controalelor folosind grafică primitivă. Utilizarea controalelor native pe platformele existente ne permite să obținem mai multe rezultate vizuale native pentru interfața grafică decât alte biblioteci precum Swing (pentru Java), pe lângă faptul că oferă performanțe mai bune și alte beneficii.
wxWidgets nu este limitat doar la dezvoltarea de interfețe grafice, deoarece biblioteca are un strat de inter-procese de comunicații, funcționalități pentru rețea, cum ar fi socket-uri și multe altele.
Principalele caracteristici noi ale wxWidgets 3.2.0
Această nouă versiune evidențiază implementarea unui nou port experimental al wxQt , care permite wxWidget-urilor să ruleze pe framework-ul Qt, în timp ce portul wxGTK oferă suport complet pentru protocolul Wayland.
În plus, se subliniază și faptul că a fost adăugat suport pentru afișaje cu densitate mare de pixeli (High DPI), precum și posibilitatea de a atribui diferite setări DPI monitoarelor diferite și de a modifica dinamic setările DPI. Mai mult, a fost propusă o nouă API wxBitmapBundle care vă permite să manipulați diverse opțiuni bitmap prezentate la rezoluții diferite împreună.
O altă modificare notabilă este introducerea unui nou sistem de compilare bazat pe CMake , care adaugă suport pentru noi compilatoare (inclusiv MSVS 2022, g++12 și clang14) și sisteme de operare pentru sistemul de compilare.
De asemenea, demne de remarcat sunt compatibilitatea OpenGL revizuită , utilizarea îmbunătățită a versiunilor mai noi de OpenGL (3.2+) și suportul adăugat pentru compresia LZMA și fișierele ZIP pe 64 de biți.
Pe de altă parte, evidențiază, de asemenea, o securitate îmbunătățită la timp de compilare, cu capacitatea de a dezactiva conversiile implicite periculoase între șiruri de caractere de tipul wxString și „char*” și a adăugat suport pentru evenimente pentru a controla gesturile jucate cu mouse-ul.
Clasele wxFont și wxGraphicsContext permit acum specificarea unor valori diferite de numere întregi la determinarea dimensiunii fontului și a lățimii stylusului. Clasa wxStaticBox implementează posibilitatea de a atribui etichete arbitrare ferestrelor.
Alte schimbări notabile includ:
- Suport pentru HTTPS și HTTP/2 a fost adăugat la API-ul wxWebRequest.
- S-a adăugat suport pentru înghețarea coloanelor și rândurilor în clasa wxGrid.
- Suport îmbunătățit pentru platforma macOS, inclusiv capacitatea de a utiliza o temă întunecată și suport suplimentar pentru dispozitivele bazate pe procesoare ARM.
- Au fost aduse îmbunătățiri pentru a sprijini standardul C++11. S-a adăugat suport pentru asamblare de către compilatoarele C++20.
- Toate bibliotecile terțe incluse au fost actualizate. S-a adăugat suport pentru WebKit 2 și GStreamer 1.7.
În cele din urmă, dacă sunteți interesați să aflați mai multe, puteți găsi detalii accesând acest link.
Descărcați wxWidgets
Pentru cei care sunt interesați să poată descărca și instala acest set de instrumente, pot obține pachetele pentru sistemul de operare țintă (Windows, Mac sau Linux) de pe site-ul oficial în secțiunea de descărcare
În cazul celor care utilizează Debian, Ubuntu sau un derivat al acestora, pot compila tastând următoarele în terminal.
sudo apt-get install libgtk-3-dev build-essential checkinstall
Aceștia continuă să dezarhiveze pachetul pe care l-au descărcat de pe site-ul oficial și să intre în folderul rezultat. Aici pot deschide un terminal poziționat în calea folderului sau se pot poziționa în interiorul folderului din terminal.
Și continuăm să compilăm cu:
mkdir gtk-build
cd gtk-build/
../configure --disable-shared --enable-unicode
make