เราจะดูในบทช่วยสอนเล็ก ๆ น้อย ๆ นี้ว่าจะทำตามขั้นตอนแรกของเรากับ Vala และ GTK3 มาเริ่มกันเลย:
การติดตั้งเครื่องมือที่จำเป็น
sudo apt-get install valac libgtk-3-dev
IDE:
เราสามารถค้นหาบรรณาธิการที่หลากหลายซึ่งเราสามารถใช้ / กำหนดค่าเป็น IDE ได้ ตัวอย่างของพวกเขาคือ รอยขีดข่วน, ข้อความประเสริฐ, Geany …ในกรณีของฉันฉันจะใช้ Scratch (ซึ่งเราสามารถพบได้ในระบบปฏิบัติการระดับประถมศึกษา)
มาดูตัวอย่างทั่วไปของ Hello World! ซึ่งจะเป็นดังนี้:
และรหัสจะมีลักษณะดังนี้:
ตอนนี้เรามาดูรายละเอียดของโค้ด เรามีคลาสซึ่งเป็นหน้าต่าง Gtk
# เราเริ่มต้น Gtk ด้วยอาร์กิวเมนต์ Gtk.init (ref args); # เราสร้างแอปพลิเคชัน แอพพลิเคชั่น = แอพพลิเคชั่นใหม่ (); # เราวางแอปพลิเคชันไว้ตรงกลางหน้าจอ app.window_position = Gtk.WindowPosition.CENTER; # เมื่อปิดเราทำลายแอพ app.destroy.connect (Gtk.main_quit); # เราวัดหน้าต่าง app.set_default_size (100, 50); # เราสร้างปุ่มและเชื่อมต่อเหตุการณ์การคลิกปุ่มและพิมพ์สวัสดี! ปุ่ม var = ใหม่ Gtk Button.with_label ("พูดสวัสดี"); button.clicked.connect (() => {พิมพ์ ("สวัสดี! \ n");}); # เพิ่มปุ่มในแอพ app.add (ปุ่ม); # เราแสดง App / Window app.show_all ();
เมื่อคลิกที่ปุ่มเราจะได้ผลลัพธ์:
เรารวบรวมและดำเนินการ:
$ valac -v lol.vala --pkg gtk + -3.0 $ ./lol
ตอนนี้ฉันปล่อยลิงค์ที่น่าสนใจไว้ให้คุณ:
http://elementaryos.org/docs/code/the-basic-setup
ปัญหาเกี่ยวกับการไม่มีอุดมการณ์ที่ดึงหน้าต่างคือคุณต้องรู้วิธีการทั้งหมดของคลาสเพื่อสร้างหน้าต่างซึ่งเป็นสิ่งดั้งเดิมจริงๆ
หากคุณทำงานได้ดีในขั้นตอนการออกแบบคุณก็ไม่มีเหตุผลที่จะใช้ IDE ในการเขียนโปรแกรม
คุณไม่เข้าใจฉันฉันกำลังพูดถึงการมีความคิดที่จะทำเพื่อคุณ windows โดยไม่ต้องพิมพ์รหัสในหลักการ:
http://imagebin.org/275532
ที่ช่วยให้คุณไม่ต้องรู้ว่าปุ่มคืออะไร ฯลฯ ฯลฯ
ด้วย IDE คุณจะประหยัดเวลาเท่านั้น…… แต่ถ้าเราพูดถึงฟังก์ชันการทำงานเมื่อใช้ IDE หรือ TERMINAL ในการคอมไพล์ทั้งคู่จะทำหน้าที่เหมือนกัน
มันเป็นเรื่องของรสนิยมและความสะดวกสบาย
คุณมี Glade (https://glade.gnome.org/) เป็นเครื่องมือ RAD ที่ช่วยให้คุณออกแบบหน้าต่างแอพพลิเคชั่นได้อย่างรวดเร็วด้วยการคลิกเมาส์ง่ายๆ
เมื่อสร้างอินเทอร์เฟซแล้วจะสร้างไฟล์ในรูปแบบ xml ที่คุณสามารถเรียกใช้จากภาษาโปรแกรมเช่น C, C ++, Python, Perl, Vala, Java เป็นต้น
ฉันหวังว่านี้ตอบคำถามของคุณ.
หากมีแนวคิดที่รวมตัวสร้างหน้าต่าง Anjuta IDE
สวัสดี Lolbimbo:
เมื่อไม่นานมานี้ฉันตัดสินใจใช้ Vala เป็นภาษาหลักก่อน D และ Golang ด้วยเหตุผล x แต่ฉันติดปัญหารหัสที่ฉันรวบรวมได้ดีมาก แต่ตอนนี้ฉันได้รับข้อผิดพลาดต่อไปนี้:
/media/…/vala/nn.vala.c: ในฟังก์ชัน 'main':
/media/…/vala/nn.vala.c:155:2: คำเตือน: 'g_type_init' เลิกใช้งานแล้ว (ประกาศที่ /usr/include/glib-2.0/gobject/gtype.h:669) [-Wdeprecated-declarations]
g_type_init();
หากมีปัญหามากเกินไปฉันจะเข้าใจขอบคุณล่วงหน้าและขอแสดงความยินดีกับบล็อก
สวัสดีเพื่อนฉันเริ่มต้นด้วย vala แต่ส่งรหัสที่คุณมีในบรรทัด 155 ให้ฉันอย่างไรก็ตามมันเป็นคำเตือนไม่ใช่ข้อผิดพลาดถ้ามันเหมาะกับคุณไม่มีอะไรเกิดขึ้นเนื่องจากอาจเป็นข้อผิดพลาดของ Vala
สวัสดี Lolimbo ฉันเฉลิมฉลองความกระตือรือร้นของคุณเนื่องจากฉันรู้สึกโดดเดี่ยวในวาลาอันที่จริงข้อผิดพลาดทำให้ฉันมีรหัสใด ๆ ง่ายๆเพียงแค่ใช้ Gtk
int main (สตริง [] args) {
Gtk.init (อาร์กิวเมนต์อ้างอิง);
หน้าต่าง var = หน้าต่างใหม่ ();
window.title = "GTK + โปรแกรมแรก";
หน้าต่าง.border_width = 10;
window.window_position = WindowPosition.CENTER;
window.set_default_size(350, 70);
window.destroy.connect(Gtk.main_quit);
var button = new Button.with_label ("คลิกฉัน!");
button.clicked.connect (() => {
button.label = "ขอบคุณ";
});
ลอง {
// โดยตรงจากไฟล์ ...
window.icon = Gdk.Pixbuf.from_file ใหม่ ("my-app.png");
// …หรือจากธีม
window.icon = IconTheme.get_default () .load_icon ("แอปของฉัน", 48, 0);
} catch (ข้อผิดพลาด e) {
stderr.printf ("ไม่สามารถโหลดไอคอนแอปพลิเคชัน:% s \ n", e.message);
}
window.add (ปุ่ม);
window.show_all();
Gtk.main();
0 กลับ;
}
แต่ระหว่างการทำงานกับ Windows และที่บ้านฉันไม่มีเวลาค้นหาข้อผิดพลาดสำหรับฉันแล้วดูเหมือนว่าจะมีปัญหากับเวอร์ชันของวาลาฉันไม่รู้
การอัปเดต vala ควรลบคำเตือน
บทช่วยสอนนี้อธิบายได้ดีและฉันก็ชอบที่ฉันสงสัยมาตลอดว่าทำไมต้องเริ่มต้นด้วยโปรแกรม "hello world" เสมอสำหรับผู้เริ่มต้นมันจะดี แต่ผู้ที่มีประสบการณ์การเขียนโปรแกรมแล้วจะเป็นอย่างไร ทำไมไม่ระบุวิธีสร้างอินเทอร์เฟซที่มีองค์ประกอบต่างๆ (ปุ่มป้ายกำกับ ฯลฯ )
ฉันชอบวาลาและฉันอยากเรียนรู้มัน แต่มันน่าจะสร้างสรรค์กว่านี้ถ้าจะเริ่ม "ระหว่างนั้น" มากกว่านี้ใช่ไหม?
เร็ว ๆ นี้เป็นอีกหนึ่งโพสต์ระดับกลาง
จาวา?
บทช่วยสอนที่ดีอธิบายได้ดีและทุกอย่างทำให้ฉันพิจารณาใส่ vala และ gtk ไว้ในรายการสิ่งที่ต้องเรียนรู้
ยอดเยี่ยมตอนนี้ฉันขอแนะนำการสอน Seed (javascript) + Gtk มันน่าสนใจมากเพราะนี่เป็นตัวเลือกอย่างเป็นทางการที่โครงการ Gnome เลือกไว้