On Wednesday 26 October 2005 05:21 pm, Okto Silaban wrote: > --- Ariya Hidayat <[EMAIL PROTECTED]> wrote: > > > Aku nyoba bikin aplikasi untuk kirim sms. Waktu > > > > bikin > > > > > project, aku pilih 'new form' bukan 'main window'. > > > Jadi program utama ada di Form1. Terus aku bikin > > > tombol untuk menu 'About'. Aku coba edit > > > > connection > > > > > slotnya, tapi gak ngerti. Soalnya FormAbout gak > > > > ada di > > > > > target slotnya. > > > > Pas di dialog "View and Edit Connections", tinggal > > klik tombol "Edit > > Slots..." lalu buat fungsi baru dengan "New > > Function". > > 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 : > > Kode untuk slot > > baru ini bisa ditambahkan dari editor, coba Ctrl+E. > > Form1::FormAbout() > { > //apa class yang bisa digunakan untuk membuka > FormAbout yang udah kubikin itu? > } > > > BTW, coba jangan main Qt Designer langsung, baca > > dulu manualnya > > misalnya lewat Qt Assistant. Problem seperti di atas > > sudah dijelaskan > > lengkap di manual. > > Aku udah sering kok baca manualnya, kemaren udah coba > ubek - ubek cari class nya, tapi gak nemu juga. > > Di manual QtAssistant aku dah coba ubek - ubek > contohnya. Tapi kayaknya gak nemu contoh yang > menghubungkan dua window. > > Salam, > Okto Silaban - Ka.Div Intern KMTF - UGM http://kmtf.ft.ugm.ac.id > Personal Homepage : http://www.oktosilaban.tk
yang ini bukan salah nggak baca manualnya... tapi salah konsep bikin aplikasinya... pertama, main.cpp: --- BEGIN --- #include <qapplication.h> #include "mainform.h" // form utama (boleh main window, widget, ato dialog) int main(int argc, char* argv[]) { QApplication app(argc, argv); MainForm* mainform = new MainForm(); app->setMainWidget(mainform); mainform->show(); return app.exec(); } --- END --- nah terus buat form mainnya... supaya lebih fleksibel, biasanya cara yang saya pakai adalah subclassing, pertama buat file UI, misal: FMainForm.ui ingat, kasih nama class FMainForm.ui, jangan sama dengan MainForm seperti pada main.cpp diatas... misalkan saya pakai nama classnya FMainForm... trus, buat file mainform.h: --- BEGIN --- #ifndef MAINFORM_H #define MAINFORM_H #include "FMainForm.h" // ini akan digenerate otomatis oleh Qt dari // FMainForm.ui #include "FAboutForm.h" // ini juga boleh dipakai kalo tidak diperlukan // subclassing lagi class MainForm : public FMainForm { Q_OBJECT public: MainForm(); ~MainForm(); private: FAboutForm* aboutform; // nah... disinilah mestinya letaknya about form... public slots: virtual void btnAbout_clicked(); // misalkan ini slot dari form main... }; --- END --- nah kemudian file mainform.cpp: --- BEGIN --- #include "mainform.h" MainForm::MainForm() { aboutform = new FAboutForm(this, "about"); } MainForm::~MainForm() { } void MainForm::btnAbout_clicked() { aboutform->exec(); } --- END --- sebenarnya masih ada cara lain untuk menshare form About supaya bisa diakses dari file2 lain, tapi saya dah capek nih... :P ntar kapan2 aja lagi... -- Danny Kurniawan -----BEGIN GEEK CODE BLOCK----- Version: 3.12 GCS/CM/E/IT d+() s+:+ a- C++>+++$ UL+++(++)>++++ P!(+++) L+++>++++>$ E-- W++>$ N o-- K- w--(+++) O++@ M@ V? PS PE-@ Y+ PGP@ t++ 5+@ X+++(++) R tv+ b +++(++) DI? D++@ G+>++ e++ h- r++ y z- ------END GEEK CODE BLOCK------ -- Berhenti langganan: [EMAIL PROTECTED] Arsip dan info: http://linux.or.id/milis