wxWidgets Pertamaku

Buat teman-teman yang ingin mencoba library GUI yang bagus dan lengkap bisa mencoba wxWidgets. Library ini tidak hanya diperuntukkan buat kamu yang menggunakan bahasa C++, tapi bisa juga buat kamu yang menggunakan bahasa pemrogrmana lainnya seperti wxPython, wxNet, wxPerl, wxJava dll.

Selain cross platform library ini juga dapat digunakan secara GPL, artinya kita tidak harus membayar sedikitpun untuk menghasilkan software komersil seklipun. Dan hebatnya lagi software ini mempunyai dokumentasi yang baik dan lengkap.

Tentu saja library ini bisa dikompilasi dengan banyak C++ kompiler mulai dari Microsoft C++ sampai GCC.

Ini contoh coding sederhana yang saya buat dan berhasil dengan baik di kompilasi dengan MingGW.

////////////////////////////////////////////////////////////////
// 	Name:		simple.cpp
// 	Purpose:	Simple wxWidgets sample
//	Author:		Hermanto
//	Created:	2012-06-06
//	Copyright:	(c) 2012, Hermanto
//	Licence:	wxWindows licence
////////////////////////////////////////////////////////////////

#include <wx/wx.h>

// Declare the application class
class MyApp : public wxApp
{
    public:
		// Called on application startup
        virtual bool OnInit();
};

// Declare our main frame class
class MyFrame : public wxFrame
{
    public:
		// Constructor
        MyFrame (const wxString title);
};


// Give wxWidgets the means to create MyApp object
IMPLEMENT_APP(MyApp)

// Initialize the application
bool MyApp::OnInit()
{
    // Create the main application window
	MyFrame *frame = new MyFrame(wxT("wxWidgets pertamaku"));

	// Show it
    frame->Show(true);

	// Start the event loop
    return true;
}

MyFrame::MyFrame(const wxString title)
            : wxFrame(NULL, wxID_ANY, title, wxDefaultPosition, wxSize(400,300))
{
	// Show window on centre screen
    Centre();
}

Keterangan kode program:

Setiap aplikasi yang dibuat dengan wxWidgets selalu diturunkan dari kelas wxApp.  Dan setidaknya mempunyai satu definisi fungi OnInit yang akan dijalankan pertama kali ketika wxWidgets mulai menjalankan kode (sama seperti main atau WinMain ketika kita menulis kode C atau aplikasi Win32) .

// Declare the application class
class MyApp : public wxApp
{
    public:
		// Called on application startup
        virtual bool OnInit();
};

Selanjutnya lihatlah kelas MyFrame.Kelas ini diturunkan dari kelas wxFrame yang merupakan top-level window yang terdapat window lain misalnya title atau menu (khusus menu insya Allah nanti akan dibuat tutorial tersendiri). Kelas yang baru kita buat ini terdiri satu konstruktor.

// Declare our main frame class
class MyFrame : public wxFrame
{
    public:
		// Constructor
        MyFrame (const wxString title);
};

Pada baris kode berikutnya kita cantumkan sebuah macro pada kode impelementasi kita yang bertujuan untuk memberikan informasi kepada wxWidgets jenis object yang harus dibuat.

// Give wxWidgets the means to create MyApp object
IMPLEMENT_APP(MyApp)

Kemudian implementasi dari OnInit biasanya minimal membuat satu window. Jika kembalian fungsi bernilai true , maka wxWidgets mulai dengan looping event melalui proses input user dan menjalankan event handlers jika diperlukan. Jika kembalian fungsi bernilai false, aplikasi akan diakhiri.

// Initialize the application
bool MyApp::OnInit()
{
    // Create the main application window
	MyFrame *frame = new MyFrame(wxT("wxWidgets pertamaku"));

	// Show it
    frame->Show(true);

	// Start the event loop
    return true;
}

Terakhir, kita implementasikan konstruktor yang frame window yang kita buat dengan fungsi Center() untuk menampilkan ditengah layar.

MyFrame::MyFrame(const wxString title)
            : wxFrame(NULL, wxID_ANY, title, wxDefaultPosition, wxSize(400,300))
{
	// Show window on centre screen
    Centre();
}

Untuk mempermudah kamu bisa download kode keseluruhan di simple.cpp

Dapat juga menjalankan hasil kompilasi yang langsung dijalankan di OS Windows file simple.zip

Tampilan di Windows XP:

Semoga postingan ini bisa membantu.

Tagged with: ,
Ditulis dalam wxWidgets
One comment on “wxWidgets Pertamaku
  1. […] posting sebelumnya saya sudah memberikan tutorial cara membuat program wxWidgets dengan contoh sederhana. Walaupun contoh tersebut sangatlah sederhana tetapi terdapat hal yang sangat fundamental dalam […]

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

Kontak Saya

Email: info@hermanto.org
Facebook: facebook/hermanto.org
Twitter: @hermanto_org
Hp/WA : 0812.734.1100
BBM : 5A408B11
Website:
- http://blogbeken.com
- http://wikimed.blogbeken.com
- http://www.hermanto.org

Masukkan alamat surel Anda untuk berlangganan blog ini dan menerima pemberitahuan tulisan-tulisan baru melalui email.

Bergabunglah dengan 4 pengikut lainnya

Kategori
Arsip
Status Blog
%d blogger menyukai ini: