มือใหม่หัดใช้ GTK +
อันเก่า ที่เคยเขียนไว้ที่ gotoknow.org
--------------------------------------------------------
ตอนนี้เริ่มทำงานแล้ว รู้สึกว่าต้องปรับตัวหลายอย่างเหมือนกัน สำหรับงานที่ต้องทำก็ต้องเขียนโปรแกรมบน Linux แต่ต้องเป็นกราฟฟิกโหมด เลยเลือกใช้ GTK+ ความยากมันอยู่ที่เป็นภาษา C ซึ่งไม่ถนัด เคยแต่อ่านโค้ด อาศัยอความรู้จาก C++ ช่วยเลยพอรอดตัว
สำหรับคนที่ไม่เคยเขียนโปรแกรมบน Linux อันนี้ไม่นับจาวานะครับ ก็ขอสรุปเกี่ยวกับกราฟฟิกโหมดบน Linux คร่าว ๆ ตามที่เข้าใจ รายละเอียดผมไม่กล่าวถึงนะครับ ดังนี้
Linux ที่จริงเป็นเพียง kernel ที่เราสามารถจะโหลดอะไร ไปประมวลผลได้ สำหรับกราฟฟิกโหมดนั้นปัจจุบันใช้ XWindow หรือ x.org นั่นเอง เป็นตัวจัดการ ซึ่ง x นั้น ใช้งานยากอยู่ จึงมีผู้คิดสร้าง ตัวจัดการหน้าต่าง หรือ window manager ขึ้น ซึ่งก็มี library พ่วงท้ายมาด้วย ปัจจุบันก็เช่น GTK+ ที่ใช้, QT, wxWidget เป็นต้น แต่โปรแกรมเหล่านี้ก็จัดการหน้าต่างอย่างเ้ดียว จึงมีผู้คิดสร้างเป็นระบบที่มีเครื่องมือช่วยมากขึ้น เช่น taskbar ซึ่งระบบนี้ครอบบน x อีกที เรียกว่า desktop environment เช่น GNOME, KDE เป็นต้น
+---------------------------------------------------+
| +-----------------------------+..................... |
| | +---------+ ...................|...................... |
| | | kernel ..| xwindow ......| desktop env... |
| | +---------+ ...................|..................... |
| +---------------------------+ .......................|
+---------------------------------------------------+
GTK ประกอบด้วยส่วนสำคัญคือ
-- Glib เป็น library พื้นฐานเกี่ยวกับobject ต่าง ๆ
-- Pango เป็น library จัดการ layout และ การ render text
-- ATK เป็นlibrary ช่วยจัดการเกี่ยวกับ accessibility สำหรับคนพิการ
โปรแกรมแรก :
/******* helloworld.c **********/ #include <gtk/gtk.h> int main( int argc,char *argv[] ) { /* ประกาศ widget */ GtkWidget *window; GtkWidget *label; /*ต้องมีเพื่อส่งอาร์กิวเมนต์ไปให้ GTK รู้*/ gtk_init (&argc, &argv); /* สร้าง window */ window = gtk_window_new (GTK_WINDOW_TOPLEVEL); /* สร้างลาเบล */ label = gtk_label_new ("Hello World"); /* ใส่ลาเบล บน window */ gtk_container_add (GTK_CONTAINER (window), label); /* lสั่งให้แสดง widget */ gtk_widget_show (button); gtk_widget_show (window); /* สั่งให้ gtk ทำงาน*/ gtk_main (); return 0; }
compile :
gcc -Wall -o helloworld `pkg-config gtk+-2.0 --cflags --libs` helloworld.c
run:
./helloworld
น่าจะมี window ขึ้นมานะ เหอ ๆ
แค่นี้ก่อนดีกว่า
--------------------------------------------------------------
ที่มา :









ความคิดเห็น
GTK+ Editor
อยากเขียน GTK+ บนวินโดวส์ ครับ
อยากทราบว่ามี Editor บ้างหรือเปล่า สำหรัยเขียน GTK+
ลองติดตั้งคู่กับ Editor อื่นแล้ว ก็ยังไม่ได้..
ถ้ามีบอกวิธีติดตั้งด้วย ก็จะดีมาก
ขอบคุณครับ...
หมายเหตุ : มือใหม่หัดเขียนครับ
ถ้าเป็นแบบ IDE ลากวาง ๆ
ถ้าเป็นแบบ IDE ลากวาง ๆ แล้วล่ะก็ ปกติจะใช้ Glade ครับ ซึ่งมีบน Windows ด้วย http://sourceforge.net/projects/gladewin32/ หรือไม่ก็อาจจะลองใช้ QT4 แทน มี IDE แบบลากวาง ๆ ครับ http://qt.nokia.com/downloads แต่ถ้าจะให้ง่าย การพัฒนาบน Linux จะสะดวกสบายมากกว่าครับ ยังไงลองเมล์มาถามได้ครับ
ขอตอบละกันครับ
ตอบเป็นบล็อกละกันนะครับ
หาจุดขาย
สวัสดีครับ
จะถามพี่หลายครั้งแล้วแต่หาเมล์ไม่เจอเลยไม่รู้ว่าจะติดต่อยังไง
ขอถามในคอมเม้นท์ละกันนะครับ
ผมเรียนวิศวคอมปี 1 ครับ
คือผมอยากจะเก่งอะไรซักด้าน ที่เป็นประโยชน์เวลาจบไปทำงาน แบบว่าเป็นจุดขายอะครับ
เพราะเพื่อนผมบางคนเก่งPHP บางคนเก่งC บางคนgraphic design
แต่ผมยังไม่มีอะไรเลย
ขอบคุณครับ
แสดงความคิดเห็น