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

วันศุกร์ที่ 3 มีนาคม พ.ศ. 2560

qtcreator เก็บ signal และ slot ไว้ตรงไหน

การเขียนโปรแกรมบน Qt จะมีส่วนหนึ่งที่แตกต่างจาก Framework อื่นคือ Signal และ Slot โดยหลักการที่จริงแล้วก็เหมือนกันเพียงแต่ Qt เขาพัฒนาแนวคิดมาอีกแบบหนึ่ง

เวลาเราดำเนินการอะไรจากออบเจ็กต์หนึ่งแล้วย่อมต้องการผลจากการกระทำนั้นไปปรากฏยังออบเจ็กต์หนึ่ง (ไม่งั้นจะทำไปทำไม ใช่ไหมครับ) เช่น เราคลิกปุ่มที่กำหนดเป็นปุ่ม Close เราย่อมต้องการให้ปิดหน้าต่างการแสดงผล

ใน Qt มีหลักการว่า เวลาที่เราคลิกนั้นฝั่งผู้ส่ง (Sender) จะเกิด Signal ขึ้นโดยสัญญานที่เกิดขึ้นนั้นจะส่งต่อไปยังผู้รับ (receive) ผ่านฟังค์ชันหนึ่งเราจะเรียกฟังค์ชันนั้นว่า Slot

ที่สำคัญหนึ่ง Signal สามารถส่งไปให้กับหลายออบเจกต์ หรือออบเจ็กต์เดียวหลาย Slot ก็นับว่าสะดวกดี

ตัวอย่างในภาพนี้ LineEdit จะส่ง Signal ชื่อ textChanged ไปยัง Slot ชื่อ setText  ของ Label และ LineEdit ที่อยู่ด้านล่าง

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

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