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)

หน้าจอ Glade

และ glademm (ตัวเปลี่ยนไฟล์ XML ของ glade ให้เป็นโค้ด Gtkmm). ใช้แล้วปรากฏว่าถ้าเปลี่ยน layout, เพิ่มลบ widget ที่สร้างใน glade แล้วมันไม่เปลี่ยนโค้ดที่สัมพันธ์ให้โดยอัตโนมัติ! เลิก. แล้วมาใช้ Qt กับ Qt designer นี่ประทับใจกว่าเยอะ.

Qt designer ใช้สร้างอินเทอร์เฟส.


Qt assistan คู่มือของ Qt

เอกสารแบบอ่านที่เครื่องก็มี assistant มีอธิบานตั้งแต่ API, tutorial ฯลฯ. หรือจะอ่านที่เว็บไซด์ของเขาก็ได้. เอกสารเป็นสิ่งสำคัญอย่างหนึ่งที่มักจะถูกละเลยซึ่งเอกสาร Qt เตรียมไว้อย่างดี.

หลังจากที่ดู Qt ก็มาเลยมาดู wxWidgets ซึ่งเป็น Toolkit สำหรับ C++ และใช้ได้ทั้งบนวินโดวส์และลินุกซ์. ได้ยินเกี่ยวกับ Toolkit ตัวนี้มานานแล้วแต่ไม่มีโอกาสได้ใช้. ดูคร่าวๆเหมือนมีอะไรคล้ายกับ signal/slot ของ Qt ด้วย. คิดว่าเป็นทางเลือกอีกทางสำหรับคนที่ต้องการเขียนโปรแกรม GUI บนลินุกซ์ด้วย C++.

สุดท้าย, เนื้อหาที่เขียนไปเป็นทัศนคติเท่านั้น, ไม่ได้ต้องการบอกว่าอะไรดีกว่าอะไร. แต่ก็มีคนถกเถียงกันพอแล้วเช่น ข้าง Qt, ข้าง Gtk.

Comments: blogger