Tutorial Qt®4 – Bab 1 Hello World!

Tutorial Qt®4 – Bab 1

Hello World!

image

Gambaran Umum

Program pertama kita adalah “Hello World” sederhana. Program tersebut berisi kode minimum yang dibutuhkan untuk membuat aplikasi Qt berjalan. Gambar di atas merupakan screenshot dari program tsb. Ini adalah source code lengkapnya:

require 'Qt4'

app = Qt::Application.new(ARGV)

hello = Qt::PushButton.new('Hello World!')
hello.resize(100, 30)
hello.show()

app.exec()
Pendahuluan

Level atas pada suatu aplikasi QtRuby biasanya hanya perlu melakukan beberapa jenis inisialisasi dan melewatkan kontrol ke pustaka Qt, yang kemudian memberitahukan program tindakan yang penguna lakukan melalui event.

Paling tidak harus terdapat satu objek Qt::Application dalam setiap aplikasi GUI yang menggunakan Qt. Qt::Application mengelola berbagai sumber daya aplikasi, seperti default font dan cursor.

Qt::PushButton merupakan suatu GUI push button yang dapat ditekan dan dilepas oleh pengguna. Kelas ini mengelola tampilannya sendiri, seperti setiap Qt::Widget lainnya.Suatu widget merupakan objek antarmuka pengguna yang dapat memproses input pengguna dan menggambar grafik. Programmer dapat mengubah tampilan dan properti lainnya (seperti warna), juga termasuk isi dari widget. Suatu Qt::PushButton dapat menampilkan teks atau icon Qt::Icon.

Penjelasan Baris demi Baris
require 'Qt4'

Baris ini memuat ekstensi dari QtRuby.

app = Qt::Application.new(ARGV)

app adalah instance dari program Qt::Application. Instance tersebut diciptakan di sini. Kita melewatkan ARGV ke konstruktor Qt::Application sehingga ia dapat memproses argumen command-line standard tertentu (seperti pada X11). Semua argumen command-line yang dikenali oleh Qt dipindahkan dari ARGV.

Catatan: Adalah penting bahwa objek Qt::Application diciptakan sebelum setiap bagian window-system dari Qt digunakan.

hello = Qt::PushButton.new('Hello World!')

Pada baris ini, setelah Qt::Application, diikuti oleh kode window-system pertama: suatu push button dibuat.

Button diset untuk menampilkan teks “Hello world!”. Karena kita tidak menspesifikasikan suatu parent window (sbagai argumen kedua dari konstruktor Qt::PushButton), button akan menjadi suatu window dari dirinya sendiri, dengan window frame dan title bar sendiri.

hello.resize(100, 30)

Button diset dengan ukuran lebar 100 pixel dan tinggi 30 pixel(tidak termasuk window frame, yang sediakan oleh windowing system). Kita dapat memanggil Qt::Widget::move() untuk memberikan posisi layar yang spesifik bagi widget, tetapi, untuk saat ini, kita membiarkan windowing system yang memilih posisinya.

hello.show()

Suatu widget tidak kelihatan ketika Anda menciptakannya. Anda harus memanggil Qt::Widget::show() untuk membuatnya kelihatan.

app.exec()

Ini adalah baris di mana program kita melewatkan kontrol ke Qt. Qt::CoreApplication::exec() akan mengembalikan application exits. (Qt::CoreApplication adalah kelas dasar dari Qt::Application. Ia mengimplementasikan core dari Qt::Application, fungsionalitas non-GUI dan dapat digunakan ketika membangun aplikasi non-GUI.)

Dalam Qt::CoreApplication::exec(), Qt menerima dan memproses event dari system dan pengguna melewatkannya ke widget yang sesuai.

Cobalah jalankan program ini!

Menjalankan Aplikasi

Ketika Anda menjalankan aplikasi, Anda akan melihat suatu window kecil yang berisi suatu button, dan terdapat tulisan terkenal: “Hello world!”

Latihan

Cobalah untuk mengubah ukuran window. Klik pada tombol. Jika Anda menggunakan lingkungan X11, cobalah menjalankan program dengan opsi -geometry (sebagai contoh, -geometry 100x200+10+20).

Note: Tutorial ini merupakan terjemahan dari http://www.darshancomputing.com/qt4-qtruby-tutorial/index.htm



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s