Code less. Create more. - Qt
www.tanabutr.co.th/photobook
ช่วงนี้อ่านหนังสือ C++ GUI Programming with Qt 3 อยู่เพราะมีเหตุต้องเขียนโปรแกรม C++ แบบ GUI บนลินุกซ์ (bias). ยิ่งอ่านยิ่งรู้สึกจะกลายเป็นสาวก Qt ซะแล้วเพราะรู้สึกว่าดีและสร้างโปรแกรมด้วย Qt ง่ายจริงๆ. มีแนวคิดที่ต่างจากการสร้าง GUI เรื่อง moc (meta-object complier), signal/slot (ใช้แทน callback function) ทำให้เขียนโปรแกรมได้ง่ายขึ้น.
หนังสืออ่านอยู่เป็นฉบับดาว์นโหลดแล้วเก็บไว้อ่านในรถไฟเวลาเดินทางไปทำงาน. เนื้อหาก็เหมือนกับหนังสือที่ขายแหละครับ. หลายคนอาจจะสงสัยแล้วจะขายหนังสือไปทำไม? ตอนแรกผมก็คิดอย่างนั้นเหมือนกัน. หนังสือเล่มนี้แถม CD-ROM ข้างในมี
- Qt 3.2.1 Non-Commercial Edition for Windows
- Qt 3.2.1 Free Edition for Mac OS X
- Qt 3.2.1 Free Edition for Unix/Linux with X11
- Borland C++ Builder 5 Non-Commercial Edition
- Borland C++ Builder 6 Trial Edition
- Source code for the book's examples
ถ้าคนใช้ที่ลินุกซ์โดยปรกติเช่นผมดาว์นโหลดหนังสือมาอ่านก็เพียงพอแล้ว. แต่ยิ่งอ่านแล้วอยากซื้อเพื่อเอา CD-ROM ครับ. สาเหตุที่สำคัญคืออยากใช้บนวินโดวส์ดูว่าเป็นอย่างไรและผมไม่มี compiler สำหรับบนวินโดวส์ด้วย. อีกอย่าง, ทาง Trolltech เองก็มีให้ดาว์นโหลด Qt สำหรับวินโดวส์เหมือนกันแต่ต้องการ Microsoft Visual C version 6 เท่านั้น (? ไม่แน่ใจ). แถมไม่ค่อยเปิดเผยเท่าไหร่ไม่เหมือนกับ Qt บนลินุกซ์. อย่างนี้ซื้อหนังสือดีกว่าได้ทั้งหนังสือและ Borland C++ Builder 5 มาใช้ด้วยกันเลย. มีคนเขียนสรุปการติดตั้ง Qt บนวินโดวส์ที่มากับหนังสือให้ดูแล้วด้วย.
ที่หนังสือแถม Borland C++ Builder นี่น่าจะเป็นเพราะ Borland ถือหุ้นของ Trolltech อยู่ด้วย 8.3 %. สรุปว่าหนังสือเล่มนี้ดีครับ. ดาว์นโหลดอ่านได้ฟรี, ใครอยากลองใช้ Qt บนวินโดวส์เช่นผมก็อาจจะซื้อหนังสือเป็นเล่มเก็บไว้, เป็นการระดมผู้พัฒนาซอฟต์แวร์แบบหนึ่ง, โฆษณา Qt, Borland ไปในตัว.
เคยเขียนโปรแกรม GUI บนลินุกซ์ด้วยด้วยภาษา C++ เลยเลือกใช้ Gtkmm (Gtk+ แบบใช้ C++) กับ glade (GUI builder)
และ glademm (ตัวเปลี่ยนไฟล์ XML ของ glade ให้เป็นโค้ด Gtkmm). ใช้แล้วปรากฏว่าถ้าเปลี่ยน layout, เพิ่มลบ widget ที่สร้างใน glade แล้วมันไม่เปลี่ยนโค้ดที่สัมพันธ์ให้โดยอัตโนมัติ! เลิก. แล้วมาใช้ Qt กับ Qt designer นี่ประทับใจกว่าเยอะ.

![]()
เอกสารแบบอ่านที่เครื่องก็มี assistant มีอธิบานตั้งแต่ API, tutorial ฯลฯ. หรือจะอ่านที่เว็บไซด์ของเขาก็ได้. เอกสารเป็นสิ่งสำคัญอย่างหนึ่งที่มักจะถูกละเลยซึ่งเอกสาร Qt เตรียมไว้อย่างดี.
หลังจากที่ดู Qt ก็มาเลยมาดู wxWidgets ซึ่งเป็น Toolkit สำหรับ C++ และใช้ได้ทั้งบนวินโดวส์และลินุกซ์. ได้ยินเกี่ยวกับ Toolkit ตัวนี้มานานแล้วแต่ไม่มีโอกาสได้ใช้. ดูคร่าวๆเหมือนมีอะไรคล้ายกับ signal/slot ของ Qt ด้วย. คิดว่าเป็นทางเลือกอีกทางสำหรับคนที่ต้องการเขียนโปรแกรม GUI บนลินุกซ์ด้วย C++.
สุดท้าย, เนื้อหาที่เขียนไปเป็นทัศนคติเท่านั้น, ไม่ได้ต้องการบอกว่าอะไรดีกว่าอะไร. แต่ก็มีคนถกเถียงกันพอแล้วเช่น ข้าง Qt, ข้าง Gtk.
Comments: blogger