gtkmm

Hello World

//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:
    void on_button_clicked(); //event handler

    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(
        sigc::mem_fun(*this, &HelloWorldWindow::on_button_clicked));

    // Display all the child widgets of the window.
    show_all_children();
}

void HelloWorldWindow::on_button_clicked()
{
    std::cout << "Hello world" << std::endl;
}
//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;
}

Aplikace, které gtkmm používají

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.