เมื่อเร็ว ๆ นี้ ประกาศเปิดตัวสาขาใหม่ครั้งแรก ชุดเครื่องมือข้ามแพลตฟอร์มที่เสถียร wxWidgets 3.2.0ซึ่งช่วยให้คุณสามารถสร้างอินเทอร์เฟซแบบกราฟิกสำหรับแพลตฟอร์ม Linux, Windows, macOS, UNIX และมือถือ
เมื่อเทียบกับสาขา 3.0 มีความเข้ากันไม่ได้จำนวนมากในระดับ API ต่างจากชุดเครื่องมืออื่นๆ wxWidgets เป็นแอปพลิเคชั่นที่ดูเนทีฟอย่างแท้จริง สำหรับระบบเป้าหมายโดยใช้ API ระบบแทนการจำลอง GUI
wxWidgets อธิบายได้ดีที่สุดว่าเป็นชุดเครื่องมือดั้งเดิม เพราะ ให้ความเป็นนามธรรมชั้นดีแก่การควบคุมดั้งเดิมของแพลตฟอร์ม ตรงกันข้ามกับการจำลองการควบคุมโดยใช้กราฟิกดั้งเดิม การใช้การควบคุมแบบเนทีฟบนแพลตฟอร์มที่มีอยู่ช่วยให้เราได้ผลลัพธ์ที่เป็นภาพดั้งเดิมสำหรับอินเทอร์เฟซแบบกราฟิกมากกว่าไลบรารีอื่น ๆ เช่น Swing (สำหรับ Java) รวมถึงให้ประสิทธิภาพที่ดีขึ้นและประโยชน์อื่น ๆ
wxWidgets ไม่ได้ จำกัด เฉพาะการพัฒนาอินเทอร์เฟซแบบกราฟิกเท่านั้นเนื่องจากไลบรารีมีชั้นของกระบวนการสื่อสารระหว่างกันฟังก์ชันสำหรับเครือข่ายเช่นซ็อกเก็ตและอื่น ๆ อีกมากมาย
คุณสมบัติใหม่หลักของ wxWidgets 3.2.0
ในเวอร์ชั่นใหม่ที่นำเสนอนี้ขอเน้นว่า ใช้พอร์ตทดลองใหม่ของ wxQtซึ่งอนุญาตให้ wxWidgets ทำงานบนเฟรมเวิร์ก Qt ในขณะที่พอร์ต wxGTK ให้การสนับสนุนอย่างเต็มที่สำหรับโปรโตคอล Wayland
นอกจากนี้ ยังเน้นย้ำว่า เพิ่มการรองรับหน้าจอที่มีความหนาแน่นของพิกเซลสูง (DPI สูง) และนั่น เพิ่มความสามารถในการกำหนด DPI . ที่แตกต่างกัน สำหรับจอภาพที่แตกต่างกันและเปลี่ยน DPI แบบไดนามิก บวกกับการเสนอ wxBitmapBundle API ใหม่ ที่ให้คุณจัดการตัวเลือกบิตแมปต่างๆ ที่นำเสนอในความละเอียดที่แตกต่างกันร่วมกัน
การเปลี่ยนแปลงที่โดดเด่นอีกประการหนึ่งก็คือ มีการเสนอระบบสร้างใหม่โดยใช้ CMake ซึ่งรองรับคอมไพเลอร์ใหม่ (รวมถึง MSVS 2022, g++12 และ clang 14) และระบบปฏิบัติการถูกเพิ่มเข้าไปในระบบบิลด์
ดิ ปรับปรุง OpenGL รองรับเพิ่มการใช้ OpenGL เวอร์ชันใหม่ (3.2+) ที่ได้รับการปรับปรุง รวมทั้งรองรับการบีบอัด LZMA และไฟล์เก็บถาวร ZIP 64
ในทางกลับกัน มันยังเน้นการรักษาความปลอดภัยเวลาคอมไพล์ที่ได้รับการปรับปรุงด้วยความสามารถในการปิดใช้งานการแปลงโดยนัยที่เป็นอันตรายระหว่างสตริงประเภท wxString และ "char*" และเพิ่มการสนับสนุนสำหรับเหตุการณ์เพื่อควบคุมท่าทางที่เล่นด้วยเมาส์
ในชั้นเรียน wxFont และ wxGraphicsContext เพิ่มความสามารถในการระบุค่าที่ไม่ใช่จำนวนเต็ม เมื่อกำหนดขนาดแบบอักษรและความกว้างของสไตลัส คลาส wxStaticBox ใช้ความสามารถในการกำหนดป้ายกำกับให้กับ windows โดยพลการ
ของคนอื่นเปลี่ยนไปที่โดดเด่น:
- เพิ่มการรองรับ HTTPS และ HTTP/2 ใน wxWebRequest API แล้ว
- เพิ่มการรองรับการตรึงคอลัมน์และแถวในคลาส wxGrid
- ปรับปรุงการรองรับสำหรับแพลตฟอร์ม macOS รวมถึงความสามารถในการใช้ธีมสีเข้มและการรองรับเพิ่มเติมสำหรับอุปกรณ์ที่ใช้โปรเซสเซอร์ ARM
- มีการปรับปรุงเพื่อรองรับมาตรฐาน C++11 เพิ่มการรองรับแอสเซมบลีโดยคอมไพเลอร์ C++20
- ไลบรารีของบุคคลที่สามที่รวมอยู่ทั้งหมดได้รับการอัปเดตแล้ว เพิ่มการรองรับ WebKit 2 และ GStreamer 1.7
ในที่สุด หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติม คุณสามารถตรวจสอบรายละเอียด โดยไปที่ลิงค์ต่อไปนี้
ดาวน์โหลด wxWidgets
สำหรับผู้ที่สนใจจะดาวน์โหลดและติดตั้งชุดเครื่องมือนี้สามารถรับแพ็คเกจสำหรับระบบปฏิบัติการเป้าหมาย (Windows, Mac หรือ Linux) ได้จากเว็บไซต์ทางการในส่วนดาวน์โหลด
ในกรณีของผู้ที่ใช้ Debian, Ubuntu หรืออนุพันธ์เหล่านี้สามารถคอมไพล์ได้โดยพิมพ์ข้อความต่อไปนี้ในเทอร์มินัล
sudo apt-get install libgtk-3-dev build-essential checkinstall
พวกเขาดำเนินการคลายซิปแพคเกจที่ดาวน์โหลดจากเว็บไซต์อย่างเป็นทางการและเข้าสู่โฟลเดอร์ผลลัพธ์ ที่นี่พวกเขาสามารถเปิดเทอร์มินัลที่อยู่ในเส้นทางโฟลเดอร์หรือวางตำแหน่งตัวเองภายในโฟลเดอร์ในเทอร์มินัล
และเราจะรวบรวม:
mkdir gtk-build
cd gtk-build/
../configure --disable-shared --enable-unicode
make