มีชุดเครื่องมือกราฟิก GTK 4.10

หลังจากหกเดือนของการพัฒนา มีการเผยแพร่ชุดเครื่องมือหลายแพลตฟอร์มสำหรับการสร้างส่วนต่อประสานผู้ใช้แบบกราฟิก - GTK 4.10.0 GTK 4 กำลังได้รับการพัฒนาโดยเป็นส่วนหนึ่งของกระบวนการพัฒนาใหม่ที่พยายามให้นักพัฒนาแอปพลิเคชันมี API ที่เสถียรและได้รับการสนับสนุนเป็นเวลาหลายปี ซึ่งสามารถใช้งานได้โดยไม่ต้องกลัวว่าจะต้องเขียนแอปพลิเคชันใหม่ทุกๆ หกเดือนเนื่องจากการเปลี่ยนแปลง API ใน GTK ถัดไป สาขา.

การปรับปรุงที่โดดเด่นที่สุดใน GTK 4.10 ได้แก่:

  • วิดเจ็ต GtkFileChooserWidget ซึ่งใช้กล่องโต้ตอบที่เปิดขึ้นเพื่อเลือกไฟล์ในแอปพลิเคชัน ใช้โหมดสำหรับการนำเสนอเนื้อหาไดเรกทอรีในรูปแบบของเครือข่ายของไอคอน ตามค่าเริ่มต้น มุมมองแบบคลาสสิกในรูปแบบของรายการไฟล์จะยังคงใช้อยู่ และปุ่มแยกต่างหากจะปรากฏที่ด้านขวาของแผงเพื่อสลับไปที่โหมดไอคอน ไอคอน:
    มีชุดเครื่องมือกราฟิก GTK 4.10
  • มีการเพิ่มคลาสใหม่ GtkColorDialog, GtkFontDialog, GtkFileDialog และ GtkAlertDialog พร้อมกับการใช้กล่องโต้ตอบสำหรับการเลือกสี แบบอักษร และไฟล์ และการแสดงคำเตือน ตัวเลือกใหม่มีความโดดเด่นด้วยการเปลี่ยนไปใช้ API แบบองค์รวมและสมดุลมากขึ้นซึ่งทำงานในโหมดอะซิงโครนัส (GIO async) ในกล่องโต้ตอบใหม่ เมื่อใดก็ตามที่เป็นไปได้และพร้อมใช้งาน พอร์ทัล Freedesktop (xdg-desktop-portal) จะถูกนำมาใช้ ซึ่งใช้เพื่อจัดระเบียบการเข้าถึงทรัพยากรของสภาพแวดล้อมผู้ใช้จากแอปพลิเคชันที่แยกออกมา
  • มีการเพิ่ม CPDB ใหม่ (Common Printing Dialog Backend) เพื่อให้มีตัวจัดการมาตรฐานสำหรับใช้ในกล่องโต้ตอบการพิมพ์ แบ็กเอนด์การพิมพ์ lpr ที่ใช้ก่อนหน้านี้ถูกยกเลิกแล้ว
  • ไลบรารี GDK ซึ่งมีเลเยอร์ระหว่าง GTK และระบบย่อยกราฟิก มีโครงสร้าง GdkTextureDownloader ซึ่งใช้ในการโหลดพื้นผิวในคลาส GdkTexture และสามารถใช้เพื่อแปลงรูปแบบต่างๆ ปรับปรุงการปรับขนาดพื้นผิวโดยใช้ OpenGL
  • ไลบรารี GSK (GTK Scene Kit) ซึ่งให้ความสามารถในการเรนเดอร์ฉากกราฟิกผ่าน OpenGL และ Vulkan รองรับโหนดที่มีมาสก์และการกรองแบบกำหนดเองของพื้นผิวที่ปรับขนาดได้
  • มีการรองรับส่วนขยายโปรโตคอล Wayland เวอร์ชันใหม่แล้ว ผลลัพธ์ของการแจ้งเตือนการเริ่มต้นเมื่อใช้โปรโตคอล "xdg-activation" ได้รับการปรับแล้ว แก้ไขปัญหาเกี่ยวกับขนาดเคอร์เซอร์บนหน้าจอความหนาแน่นของพิกเซลสูง
  • คลาส GtkMountOperation ได้รับการปรับให้ทำงานในสภาพแวดล้อมที่ไม่ใช่ X11
  • แบ็กเอนด์บรอดเวย์ซึ่งช่วยให้คุณสามารถเรนเดอร์เอาต์พุตไลบรารี GTK ในหน้าต่างเว็บเบราว์เซอร์ได้เพิ่มการรองรับสำหรับหน้าต่างโมดอล
  • คลาส GtkFileLauncher นำเสนอ API แบบอะซิงโครนัสใหม่เพื่อแทนที่ gtk_show_uri
  • ยูทิลิตี gtk-builder-tool ได้ปรับปรุงการประมวลผลเทมเพลต
  • วิดเจ็ต GtkSearchEntry ได้เพิ่มการรองรับข้อความตัวเติม ซึ่งแสดงเมื่อฟิลด์ว่างเปล่าและไม่มีโฟกัสอินพุต
  • เพิ่มคลาส GtkUriLauncher ซึ่งแทนที่ฟังก์ชัน gtk_show_uri ซึ่งใช้เพื่อกำหนดแอปพลิเคชันที่เรียกใช้เพื่อแสดง URI ที่กำหนด หรือส่งข้อผิดพลาดหากไม่มีตัวจัดการ
  • คลาส GtkStringSorter ได้เพิ่มการรองรับเมธอด "การจัดเรียง" ต่างๆ ทำให้คุณสามารถดำเนินการจับคู่และเรียงลำดับตามความหมายของอักขระได้ (เช่น เมื่อมีเครื่องหมายเน้นเสียง)
  • API และวิดเจ็ตส่วนใหญ่เลิกใช้แล้ว ซึ่งตัดสินใจว่าจะไม่รองรับในสาขา GTK5 ในอนาคต และถูกแทนที่ด้วยอะนาล็อกที่ทำงานในโหมดอะซิงโครนัส:
    • GtkDialog (ควรใช้ GtkWindow)
    • GtkTreeView (ควรใช้ GtkListView และ GtkColumnView)
    • GtkIconView (ควรใช้ GtkGridView)
    • GtkComboBox (ควรใช้ GtkDropDown)
    • GtkAppChooser (ควรใช้ GtkDropDown)
    • GtkMessageDialog (ควรใช้ GtkAlertDialog)
    • GtkColorChooser (ควรใช้ GtkColorDialog และ GtkColorDialogButton)
    • GtkFontChooser (ควรใช้ GtkFontDialog และ GtkFontDialogButton)
    • GtkFileChooser (ควรใช้ GtkFileDialog)
    • GtkInfoBar
    • GtkEntry เสร็จสมบูรณ์
    • GtkStyleContext
    • GtkVolumeButton
    • GtkStatusbar
    • GtkAssistant
    • GtkLockButton
    • gtk_widget_show/ซ่อน
    • gtk_show_uri
    • gtk_render_ และ gtk_snapshot_render_
    • gtk_gesture_set_sequence_state
  • อินเทอร์เฟซ GtkAccessible ถูกโอนไปยังหมวดหมู่สาธารณะ ซึ่งช่วยให้คุณเชื่อมต่อตัวจัดการองค์ประกอบอินเทอร์เฟซของบุคคลที่สามสำหรับคนพิการได้ เพิ่มอินเทอร์เฟซ GtkAccessibleRange
  • แพลตฟอร์ม macOS ให้การสนับสนุนการลากองค์ประกอบด้วยเมาส์ (DND, Drag-and-Drop)
  • บนแพลตฟอร์ม Windows มีการปรับปรุงการทำงานร่วมกับการตั้งค่าระบบ
  • รูปแบบเอาต์พุตการแก้ไขจุดบกพร่องได้รับการรวมเป็นหนึ่งเดียว
  • ขีดจำกัดหน่วยความจำสำหรับผู้อัปโหลดรูปภาพ JPEG เพิ่มขึ้นเป็น 1 GB

ที่มา: opennet.ru

เพิ่มความคิดเห็น