Gooey: แปลงโปรแกรมบรรทัดคำสั่ง Python เกือบทุกตัวให้เป็นแอปพลิเคชัน GUI แบบสมบูรณ์
(github.com/chriskiehl)แปลงโปรแกรมคอนโซล Python ให้เป็นแอปพลิเคชัน GUI ด้วย Gooey
- Gooey เป็นเครื่องมือสำหรับแปลงโปรแกรมคอนโซล Python 3 ให้เป็นแอปพลิเคชัน GUI ที่ใช้งานง่าย
- ช่วยให้โปรแกรมใช้งานง่ายและดูดีขึ้นด้วยการมอบ GUI แทน command prompt
- มีประโยชน์เมื่อสร้างสคริปต์สำหรับผู้ที่ไม่ใช่โปรแกรมเมอร์ หรือยูทิลิตีสำหรับงานอย่างการย้ายข้อมูล
วิธีการทำงานของ Gooey
- Gooey เชื่อมเข้ากับโค้ดโดยเพิ่ม decorator ไปยังเมธอดที่มีการประกาศ
argparse - ระหว่างรัน จะทำการพาร์สสคริปต์ Python เพื่อดึงอ้างอิง
ArgumentParserและประกอบ GUI ขึ้นมา - สามารถใช้
GooeyParserเพื่อควบคุมวิดเจ็ตที่แสดงใน GUI ได้ละเอียดมากขึ้น
การทำให้ Gooey รองรับหลายภาษา
- Gooey สามารถแปลเป็นภาษาต่าง ๆ ได้อย่างง่ายดาย และปัจจุบันมีคำแปลรวมอยู่แล้วมากกว่า 18 ภาษา
- การเพิ่มการรองรับภาษาใหม่ทำได้ง่ายเพียงเพิ่มคู่คีย์/ค่าในไดเรกทอรี
gooey/languages/
การตั้งค่าระดับรวมของ Gooey
- รูปลักษณ์และความรู้สึกโดยรวมของ Gooey สามารถปรับแต่งได้โดยส่งอาร์กิวเมนต์ให้กับ decorator
- องค์ประกอบต่าง ๆ เช่น encoding, ภาษา, ขนาดเริ่มต้น, การตั้งค่าฟอนต์ และอื่น ๆ สามารถปรับแต่งได้
การปรับแต่งเลย์เอาต์ของ Gooey
- Gooey มอบเลย์เอาต์ที่ยืดหยุ่นผ่านการปรับแต่งง่าย ๆ ไม่กี่อย่าง
- มีตัวเลือกเลย์เอาต์หลากหลาย เช่น การแสดง sidebar หรือการใช้กลุ่มแท็บ
โหมดการแสดงผลของ Gooey
- Gooey มีโหมดการแสดงผลหลายแบบที่สามารถปรับเลย์เอาต์ให้เหมาะกับประเภทของเนื้อหาและระดับประสบการณ์ของผู้ใช้
- ผ่านโหมดขั้นสูง, พื้นฐาน และไม่มีการตั้งค่า สามารถมอบ GUI ที่เหมาะกับความต้องการของผู้ใช้ที่หลากหลายได้
เมนูของ Gooey
- สามารถเพิ่มกลุ่มเมนูและรายการแบบกำหนดเองลงในแถบเมนูของ Gooey ได้
- รองรับตัวเลือกเมนูหลายประเภทเพื่อแสดงข้อมูลโปรแกรม, กล่องข้อความโต้ตอบ, ลิงก์ และอื่น ๆ
การตรวจสอบแบบไดนามิกของ Gooey
- ก่อนส่งอินพุตของผู้ใช้ไปยังโปรแกรม Gooey สามารถเลือกรันการตรวจสอบล่วงหน้าเพื่อยืนยันว่าอาร์กิวเมนต์ทั้งหมดผ่านการตรวจสอบ
อีเวนต์วงจรชีวิตและการควบคุม UI ของ Gooey
- Gooey มี lifecycle hooks ที่ช่วยให้ดำเนินการต่อเนื่องเพิ่มเติมได้เมื่อโปรแกรมรันสำเร็จหรือล้มเหลว และควบคุมสถานะปัจจุบันของ UI ได้
การแสดงความคืบหน้าของ Gooey
- Gooey สามารถอัปเดตสถานะของแถบความคืบหน้าจากข้อความอัปเดตความคืบหน้าได้
- สามารถแจ้งความคืบหน้าให้ Gooey ทราบผ่าน regular expression และนิพจน์ประเมินผลแบบกำหนดเอง
การปรับแต่งไอคอนของ Gooey
- Gooey มีความสามารถในการแทนที่ไอคอนเริ่มต้นด้วยรูปภาพ/ไอคอนแบบกำหนดเอง
- สามารถระบุไดเรกทอรีรูปภาพแบบกำหนดเองผ่านอาร์กิวเมนต์
image_dir
การแพ็กเกจของ Gooey
- การแพ็ก Gooey เป็นไฟล์ปฏิบัติการทำได้ง่ายมาก และสามารถใช้ pyinstaller เพื่อบันเดิลแอปพลิเคชันเป็นไฟล์ปฏิบัติการที่พร้อมใช้งานได้
ความเห็นของ GN⁺
ประเด็นสำคัญที่สุดของบทความนี้คือ Gooey สามารถแปลงโปรแกรมคอนโซล Python ให้เป็นแอปพลิเคชัน GUI ได้อย่างง่ายดาย ซึ่งช่วยให้โปรแกรมเป็นมิตรและเข้าถึงง่ายขึ้นสำหรับผู้ใช้ที่ไม่ใช่โปรแกรมเมอร์ และทำให้นักพัฒนาสามารถโฟกัสกับลอจิกได้โดยไม่ต้องกังวลเรื่องส่วนติดต่อผู้ใช้ ตัวเลือกการตั้งค่าและการปรับแต่งที่หลากหลายของ Gooey ยังทำให้มันเป็นทางเลือกที่น่าสนใจสำหรับนักพัฒนา และอาจช่วยลดกำแพงในการเริ่มต้นพัฒนา GUI ได้อย่างมาก
1 ความคิดเห็น
ความเห็นบน Hacker News
คำอธิบายจากผู้พัฒนาเกี่ยวกับโปรเจกต์ Gooey
argparseถือเป็นตัวเลือกที่มั่นคงargparseargparseยังคงเป็นอินเทอร์เฟซหลักอยู่ แต่ก็ยังไม่มีทางเลือกอื่นที่เหมาะนักการถกเถียงเกี่ยวกับความสัมพันธ์ระหว่าง Gooey กับ
argparseargparseเหมาะกับงานง่าย ๆ แต่มี CLI จำนวนมากที่สร้างบนClickและยังมีไลบรารี CLI ยอดนิยมที่อิงกับClickด้วยClickหรือไม่ และถ้าจำกัดอยู่แค่argparseคำว่า "เกือบทั้งหมด" ก็อาจไม่แม่นยำนักมีการให้ลิงก์ไปยังการสนทนาเกี่ยวกับ Gooey ก่อนหน้านี้
ความเห็นที่อยากให้ระบบปฏิบัติการและเชลล์ช่วยรันโปรแกรมได้ดีกว่านี้
แนะนำเฟรมเวิร์ก Textual
Textualที่ช่วยสร้างส่วนติดต่อผู้ใช้ซึ่งทำงานได้ทั้งในเทอร์มินัลและเว็บเบราว์เซอร์ด้วย API ที่เรียบง่ายใน Pythonคำถามเกี่ยวกับ GUI สำหรับ ffmpeg
คำถามเกี่ยวกับวิธีผสานเครื่องมือ CLI ที่คาดหวังการรับอินพุตจากผู้ใช้เข้ากับ Gooey
ความสนใจในเครื่องมือที่แปลงจาก GUI เป็น CLI
การกล่าวถึงแนวคิด Naked Objects
ความสงสัยว่า Gooey จะสร้างเว็บแอปได้หรือไม่