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