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

วันศุกร์ที่ 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 ที่อยู่ด้านล่าง

วันพฤหัสบดีที่ 2 มีนาคม พ.ศ. 2560

โปรแกรมแรกจาก Qt และรายละเอียดในไฟล์ต่างๆ

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






วันจันทร์ที่ 27 กุมภาพันธ์ พ.ศ. 2560

ติดตั้ง Qt5, Qt Creator และ library mysql client.

การเชื่อมต่อ MySql ด้วย Qt ก็เป็นสิ่งจำเป็นเพราะการเขียนโปรแกรมย่อมต้องมีบันทึกข้อมูลหรือเก็บข้อมูลต่างๆ โดยปกติแล้วการเชื่อมต่อโปรแกรมกับฐานข้อมูลต่างๆ ย่อมต้องอาศัยตัวกลางในการเชื่อมต่อข้อมูลตามโปรแกรมนั้นๆ สำหรับ MySql ก็เช่นกัน

sudo apt-get install qt5-default

sudo apt-get install build-dep

sudo apt-get install libqt5sql5-mysql  libmysqlclient-dev libmysql++-dev build-essential cmake mysql-client mysql-server

sudo apt-get install qtcreator


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

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