วันจันทร์ที่ 20 มีนาคม พ.ศ. 2560

เขียนโปรแกรมด้วย Qt: ตอนที่ 4 จัดการฟอร์ม

การเริ่มต้นเขียนโปรแกรมสิ่งที่สำคัญ คือ พื้นฐานและความเข้าใจอย่างถ่องแท้ทั้งเรื่องระบบงานที่จะเขียนโปรแกรม และเข้าใจเครื่องมือที่ใช้ในการพัฒนาโปรแกรม หลายครั้งที่มีคนถามว่าจะเริ่มต้นเรียนอะไรก่อน คำตอบมักจะได้รับจากผู้เขียน คือ "เริ่มที่แนวคิดและการทำงานพื้นฐาน"

ภาษา C ก็เช่นกัน สิ่งที่ควรเรียนรู้หลักๆ ก็ประกอบด้วย โครงสร้างการเขียนโปรแกรม การวนลูป การทำงานตามเงื่อนไข และการแปลงข้อมูล การเรียกใช้ฟังค์ชันที่เกี่ยวข้องต่างๆ ในเบื้องต้น

การเขียนโปรแกรมด้วย Qt ก็เช่นกัน พื้นฐานเป็นสิ่งสำคัญ นอกจากจะต้องรู้วิธีการเขียนโปรแกรมด้วยภาษา C++ แล้วยังต้องเข้าใจวิธีการของ Qt ตลอดถึงการใช้เครื่องมือในการพัฒนาโปรแกรม นั่นคือ ต้องเข้าใจเกี่ยวกับ IDE ให้มาที่สุด

แต่อย่างไรก็ตามเราคงไม่สามารถเรียนรูู้และเข้าใจโครงสร้างทั้งหมดได้ในระยะเวลาอันสั้น แต่สิ่งที่พึงตระหนักเป็นอย่างยิ่ง คือ วิธีการเขียนโปรแกรม และเทคนิคในการเขียนโปรแกรม ที่สำคัญที่สุด คือ หลักการ และสิ่งที่ควรเป็น การเขียนโปรแกรมก็ คือ ศิลปะชนิดหนึ่งที่ต้องอาศัยการออกแบบเพื่อให้ลงตัวทั้งผู้ใช้และโปรแกรม

ใน Qt จะมีส่วนที่เป็น Qt Creator ซึ่งเป็นส่วนการพัฒนาและออกแบบโปรแกรม ดังนั้นส่วนใหญ่จะต้องผ่านการออกแบบหน้าจอแบบ GUI อยู่มาก จึงจำเป็นต้องเข้าใจหลักการในการใช้งานก่อน

การกำหนดขนาดและค่าต่างๆ ของฟอร์ม

ฟอร์มที่สร้างขึ้นใน Qt ก็ไม่ต่างจากฟอร์มใน Visual Studio มากนัก เพียงแต่วิธีการและการเรียกในส่วนต่างๆ ไม่เหมือนกัน

เมื่อกำหนดฟอร์มขึ้นมาสักหนึ่งฟอร์ม สิ่งที่ผู้เขียนโปรแกรมพึงคิดให้ตลอดว่าฟอร์มนั้นจะเป็นแบบไหน เวลาเรียกใช้งานจะแสดงแบบเต็มจอหรือไม่ แสดงกรอบไหม ใช้สีสันแบบใด กำหนดขนาดฟอร์ม ย่อได้ ขยายได้ไหม

สิ่งเหล่านี้ใน Qt สามารถจัดการได้หมด ในบทความนี้จะอธิบายในส่วนที่จำเป็นดังนี้

หน้าจอกำหนดขนาดของฟอร์ม



สิ่งที่น่าสนใจในการกำหนดขนาดของฟอร์ม คือ

geometry
เป็นการกำหนดขนาดของฟอร์ม เมื่อดูจากรูปภาพ ในกรอบสีแดง properties ชื่อ geometry จะมีตัวเลข [(0,0), 240 x 320] หมายถึงฟอร์มมีขนาดของกว้าง 240px และสูง 320px และอยู่ในตำแหน่งที่ 0,0 หากต้องการกำหนดค่าความกว้าง ความสูงให้กำหนดที่ Width และ Height

sizePolicy
ความหมายตรงตัว คือ นโยบายเกี่ยวกับขนาด จากในรูปจะเห็นข้อความ [Preferred, Preferred, 0,0] การเปลี่ยนแปลงจะเปลี่ยนในช่องของ Horizontal Policy และ Vertical Policy โดยค่าที่ใช้บ่อย คือ

  • Fixed จะกำหนดความกว้างหรือความสูงตามที่เราต้องการ หลายครั้งเราต้องกำหนดค่าด้วยตนเอง
  • Preferred เป็นการกำหนดให้ความกว้างความสูงเป็นไปตาม Widget Policy ข้อดีของการกำหนดค่าแบบนี้ เมื่อเราย่อหรือขยายหน้าจอ, ฟอร์ม ออบเจ็กต์ก็จะปรับขนาดตามไปด้วย
minimumSize
ค่ากำหนดต่ำสุดของออบเจกต์นั้น เช่น เรากำหนดฟอร์มให้มีค่าต่ำสุดที่ 240 x 320 เวลาเปิดหน้าจอมาก็จะแสดงผลตามขนาด และจะไม่สามารถย่อได้น้อยกว่านี้

maximumSize
กำหนดค่าให้แสดงผลกว้างหรือสูงมากที่สุดเมื่อขยายหน้าจอหรือขนาดของออบเจ็กต์นั้นๆ เช่น การขยายหน้าจอ หรือปรับขนาดของหน้าต่าง ในตัวอย่างนี้จะกำหนดค่าสูงสุดตามระบบที่สามารถทำได้

กำหนดชื่อของหน้าต่าง
กรณีที่ต้องการกำหนดชื่อของหน้าต่างหรือ Title ให้เข้าไปกำหนดใน Properties ชื่อ windowTitle 

เพิ่มไอคอนให้กับฟอร์ม
การเพิ่มไอคอนให้เข้าไปกำหนดในพร็อพเพอร์ตี้ชื่อ icon โดยเลือกจาก Resource ซึ่งต้องเพิ่มเข้าไปในระบบก่อน วิธีการก็อ่านจากบทความที่ผ่านมา 

คลิกในพร็อพเพอร์ตี้ windowIcon แล้วเลือก Resource ที่เพิ่มไว้ในระบบ

เมื่อสั่งรันจะเห็นว่า Title และ Icon เป็นไปตามที่เรากำหนด

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

Gtk4 ตอนที่ 6 Defining a Child object

Defining a Child object A Very Simple Editor ในบทความที่ผ่านมาเราสร้างโปรแกรมอ่านไฟล์ชนิดข้อความ และในบทความนี้ก็จะมาปรับแต่งโปรแกรมกันสักหน...