gtkmm
gtkmm (sebelumnya dikenal sebagai gtk-- atau gtk minus minus[1]) adalah antarmuka resmi C++ untuk GTK. gtkmm merupakan perangkat lunak bebas yang didistribusikan dibawah LGPL.
Gtkmm | |||||||
---|---|---|---|---|---|---|---|
Tipe | GTK software binding (en) , Pustaka perangkat lunak, perangkat lunak bebas dan Peralatan gawit | ||||||
Versi stabil | |||||||
Genre | Pengikat bahasa | ||||||
Lisensi | GNU Lesser General Public License | ||||||
| |||||||
| |||||||
gtkmm memperbolehkan pembuatan antarmuka pengguna di dalam kode atau dengan Glade, dengan menggunakan kelas Gtk::Builder. Fitur lainnya mencakup typesafe callbacks, kumpulan elemen kontrol grafis, and ekstensibilitas widget melalui inheritance.
Contoh
sunting//HelloWorldWindow.h
#ifndef HELLOWORLDWINDOW_H
#define HELLOWORLDWINDOW_H
#include <gtkmm/window.h>
#include <gtkmm/button.h>
// Derive a new window widget from an existing one.
// This window will only contain a button labelled "Hello World"
class HelloWorldWindow : public Gtk::Window
{
public:
HelloWorldWindow();
protected:
Gtk::Button hello_world;
};
#endif
//HelloWorldWindow.cc
#include <iostream>
#include "HelloWorldWindow.h"
HelloWorldWindow::HelloWorldWindow() : hello_world("Hello World")
{
// Set the title of the window.
set_title("Hello World");
// Add the member button to the window,
add(hello_world);
// Handle the 'click' event.
hello_world.signal_clicked().connect([] () {
std::cout << "Hello world" << std::endl;
});
// Display all the child widgets of the window.
show_all_children();
}
//main.cc
#include <gtkmm/main.h>
#include "HelloWorldWindow.h"
int main(int argc, char *argv[])
{
// Initialization
Gtk::Main kit(argc, argv);
// Create a hello world window object
HelloWorldWindow example;
// gtkmm main loop
Gtk::Main::run(example);
return 0;
}
Program di atas akan membuat sebuah jendela dengan tombol berlabel "Hello World". Tombol tersebut akan mengirimkan "Hello World" ke output standar ketika diklik.
Program tersebut dapat dijalankan dengan perintah berikut:
$ g++ -std=c++11 *.cc -o example `pkg-config gtkmm-3.0 --cflags --libs`
$ ./example
Ini biasanya dilakukan menggunakan makefile simpel.
Referensi
sunting- ^ "The gtkmm FAQ". Diarsipkan dari versi asli tanggal 2023-03-31. Diakses tanggal 2021-02-23.