> Ya yg ini aku udah ngerti, cuma class untuk membuka
> window baru itu apa ya? kalo QConnect kan buat
> menghubungkan event dengan fungsi (slot), nah kalo
> misalnya slotnya aku bikin dulu misal jadinya :
> Form1::FormAbout()
> {
> //apa class yang bisa digunakan untuk membuka
> FormAbout yang udah kubikin itu?
>  }
> Aku udah sering kok baca manualnya, kemaren udah coba
> ubek - ubek cari class nya, tapi gak nemu juga.

Di dokumentasi Qt bagian signal dan slot dijelaskan bahwa "Signals and
slots are used for communication between objects". Di dalam Qt
Designer, masing-masing Form1 dan FormAbout itu kelas ("class"), bukan
objek ("object") - inilah bedanya dengan RAD seperti Visual Basic.
Jadi ide untuk menghubungkan satu signal di button di Form1 ke slot di
FormAbout tidak akan pernah bisa diwujudkan karena targetnya adalah
bukan objek.

Solusinya tentu saja sederhana. Buat slot baru di dalam Form1,
misalnya Form1::showAbout() yang akan jadi target dari signal
clicked() dari push button. Lalu, kode untuk showAbout:

void Form1::showAbout()
{
     FormAbout* about = new FormAbout;
     about->show();
}

Jangan lupa, formabout.h perlu dimasukkan ke dalam include file di
Form1 (caranya sudah dijelaskan di manual Qt Designer).

Kalau tanpa Qt Designer, lebih sederhana karena tinggal buat objek
'about' seperti contoh di atas, lalu sambungkan clicked() ke show()
dengan fungsi QObject::connect(). Jadi tidak perlu membuat slot dummy
seperti di atas. BTW, tidak ada kelas yang namanya QConnect.

Qt tutorial yang sudah diberikan linknya (terutama bagian
http://www.digitalfanatics.org/projects/qt_tutorial/chapter05.html
untuk Qt Designer) bagus dibaca untuk menambah pemahaman.


--
Ariya Hidayat, http://ariya.blogspot.com
http://www.google.com/search?q=ariya+hidayat&btnI

--
Berhenti langganan: [EMAIL PROTECTED]
Arsip dan info: http://linux.or.id/milis

Kirim email ke