แสดงบทความที่มีป้ายกำกับ gradient แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ gradient แสดงบทความทั้งหมด

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

เขียนโปรแกรมด้วย Qt: ตอนที่ 2 เล่นกับฟอร์ม

สำหรับ ตอนที่ 1 ก็พาไปรู้จักกับ IDE ของ Qt แล้วตอนนี้ เป็นตอนที่ 2: เล่นกับฟอร์ม, คิดชื่อบทความไม่ค่อยออก และจุดมุ่งหมายก็ยังไม่ชัดเจน แต่จะเป็นการเล่นอะไรหลายๆ อย่างบนฟอร์มที่เราสร้างขึ้น (มีอะไรก็ใส่ๆ ไปครับ) 😅

ก่อนที่จะเข้าไปยำใหญ่เกี่ยวกับฟอร์มก็ขอ ขยายความ เกี่ยวกับศัพท์ที่พบเจอกันบ่อยๆ ใน Qt และจะงงกัน (ผู้เขียนก็ยังงงๆ อยู่เหมือนกัน)

Window, Widget, Dialog สามคำนี้จะวนเวียนอยู่ในโลกแห่งการเขียนโปรแกรมมากพอสมควร โดยแต่ละส่วนก็จะมีความหมายพอจะอธิบายได้ว่า (ความหมายในโลกของ Qt)

Window คือ ส่วนที่อยู่ Top-level หรือบนสุด หรือจะเรียกว่าอยู่ล่างสุดเป็นฉากหลัง เป็นแหล่งกำหนดหรือที่ตั้งอยู่ของสิ่งต่างๆ นั่นแหละ แต่ที่เรียกว่า Top-Level นั้นเพราะมองจากลำดับของ Object

Widget คือ ส่วนประกอบต่างๆ หรือ Object ต่างๆ ที่อยู่บน Window ในโลกของ Unix เรียกว่า Widget ส่วนโลกของ Windows เรียก Controls นั่นก็ คือ objects ทั้งหลายนั่นแล (จะต่างจาก Widget ในโลกมือถือหรือโปรแกรมอื่นๆ นิดหน่อยตรงที่ Widget ในโลกอื่นที่ไม่ใช่ Qt หมายถึงส่วนควบคุมหรือส่วนเล็กๆ ที่สามารถทำงานได้ คล้ายๆ กับ Gadget; อ้าว ยิ่งงงไปกันใหญ่) 😁

Dialog คือ Window ชนิดหนึ่งและเป็นหน้าต่างที่ปรากฏขึ้นเป็นครั้งคราว ไม่ได้แสดงแบบถาวร เช่น สร้างหน้าจอเพื่อแสดงข้อความแจ้งให้ทราบ หรือข้อความถามแล้วให้เลือกต่อ Yes No Ok และ Cancel แต่หลักการแล้วก็เหมือน window ทุกประการเพียงแต่ต่างกันตรงวัตถุประสงค์การใช้งาน

Form Style Sheet

สิ่งแรกที่จะพาไปเล่นกับฟอร์ม คือ การเปลี่ยนแปลงสีของฟอร์มผ่าน Style Sheet และนี่แหละที่เป็นจุดเด่นของ Qt และเด่นมากจนหลังๆ จะกลายเป็น Java Scripts ไปทุกทีแล้ว

ใครที่เขียนเว็บมาบ้างแล้วย่อมรู้จักอานิสงส์ของ Style Sheet เป็นอย่างดี เพราะมันสามารถทำให้หน้าเว็บไซต์ไม่จืดชืด ลูกเล่นแพรวพราว และเมื่อ Qt ได้นำเอาคุณสมบัตินั้นมาใช้กับการเขียนโปรแกรมแล้วจะดีมากแค่ไหน และเขียนด้วย C++ แล้วมี Style Sheet โอ้ววว มันช่างอัศจรรย์เสียจริงๆ (IDE อื่นๆ ก็คงทำได้เหมือนกัน ใครทราบแนะนำด้วย)

Change styleSheet

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

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