Κουμπί
- 5.1.1. Κατασκευαστές
- 5.1.2. Παράδειγμα
- 5.1.3. Σήματα
5.1.1. Κατασκευαστές
Υπάρχουν δύο τρόποι δημιουργίας ενός κουμπιού. Μπορείτε να ορίσετε μια συμβολοσειρά ετικέτας στον κατασκευαστή Gtk::Button, ή να το ορίσετε αργότερα με set_label().
Για τον ορισμό ενός πλήκτρου επιταχυντή για περιήγηση πληκτρολογίου, τοποθετήστε μια υπογράμμιση πριν από έναν από τους χαρακτήρες της ετικέτας και ορίστε true (αληθές) για την προαιρετική παράμετρο mnemonic (μνημονική). Για παράδειγμα:
Gtk::Button* pButton = new Gtk::Button("_Something", true);
Έτοιμα στοιχεία συνιστώνται για χρήση στα κουμπιά. Από την gtkmm-3.10 είναι ξεπερασμένα. Δεν πρέπει να χρησιμοποιηθούν σε νεογραμμένο κώδικα. Όμως, η τεκμηρίωση του namespace Gtk::Stock εμφανίζει συνιστώμενες ετικέτες και επώνυμα εικονίδια να εμφανίζονται στα κουμπιά.
Η Gtk::Button είναι επίσης ένας περιέκτης, έτσι μπορείτε να βάλετε οποιοδήποτε άλλο γραφικό συστατικό, όπως μια Gtk::Image μέσα του.
5.1.2. Παράδειγμα
Αυτό το παράδειγμα δημιουργεί ένα κουμπί με μια εικόνα και μια ετικέτα.
File: buttons.h (For use with gtkmm 3, not gtkmm 2)
#ifndef GTKMM_EXAMPLE_BUTTONS_H #define GTKMM_EXAMPLE_BUTTONS_H #include <gtkmm/window.h> #include <gtkmm/button.h> class Buttons : public Gtk::Window { public: Buttons(); virtual ~Buttons(); protected: //Signal handlers: void on_button_clicked(); //Child widgets: Gtk::Button m_button; }; #endif //GTKMM_EXAMPLE_BUTTONS_H
File: buttons.cc (For use with gtkmm 3, not gtkmm 2)
#include "buttons.h" #include <iostream> Buttons::Buttons() { m_button.add_pixlabel("info.xpm", "cool button"); set_title("Pixmap'd buttons!"); set_border_width(10); m_button.signal_clicked().connect( sigc::mem_fun(*this, &Buttons::on_button_clicked) ); add(m_button); show_all_children(); } Buttons::~Buttons() { } void Buttons::on_button_clicked() { std::cout << "The Button was clicked." << std::endl; }
File: main.cc (For use with gtkmm 3, not gtkmm 2)
#include "buttons.h" #include <gtkmm/application.h> int main(int argc, char *argv[]) { auto app = Gtk::Application::create(argc, argv, "org.gtkmm.example"); Buttons buttons; //Shows the window and returns when it is closed. return app->run(buttons); }
5.1.3. Σήματα
The Gtk::Button widget has the following signals, but all except the clicked signal are deprecated and should not be used in newly-written code:
- pressed
-
Emitted when the button is pressed. Use Gtk::Widget::signal_button_press_event() instead.
- released
-
Emitted when the button is released. Use Gtk::Widget::signal_button_release_event() instead.
- clicked
-
Εκπέμπεται όταν πατιέται το κουμπί και ελευθερώνεται.
- enter
-
Emitted when the mouse pointer enters the button's window. Use Gtk::Widget::signal_enter_notify_event() instead.
- leave
-
Emitted when the mouse pointer leaves the button's window. Use Gtk::Widget::signal_leave_notify_event() instead.