多选按钮(CheckButton)
Gtk::CheckButton 继承自 Gtk::Widget。它与Gtk::ToggleButton类似,二者只有外观不同。因此你可以像Gtk::ToggleButton一样使用同样的方法来检查、设置和转换多选按钮的状态。
- 6.3.1. 示例
6.3.1. 示例
File: examplewindow.h (For use with gtkmm 4)
#ifndef GTKMM_EXAMPLE_BUTTONS_H #define GTKMM_EXAMPLE_BUTTONS_H #include <gtkmm/window.h> #include <gtkmm/checkbutton.h> class ExampleWindow : public Gtk::Window { public: ExampleWindow(); virtual ~ExampleWindow(); protected: //Signal handlers: void on_button_toggled(); //Child widgets: Gtk::CheckButton m_button; }; #endif //GTKMM_EXAMPLE_BUTTONS_H
File: main.cc (For use with gtkmm 4)
#include "examplewindow.h" #include <gtkmm/application.h> int main(int argc, char *argv[]) { auto app = Gtk::Application::create("org.gtkmm.example"); //Shows the window and returns when it is closed. return app->make_window_and_run<ExampleWindow>(argc, argv); }
File: examplewindow.cc (For use with gtkmm 4)
#include "examplewindow.h" #include <iostream> ExampleWindow::ExampleWindow() : m_button("something") { set_title("checkbutton example"); m_button.signal_toggled().connect(sigc::mem_fun(*this, &ExampleWindow::on_button_toggled) ); m_button.set_margin(10); set_child(m_button); } ExampleWindow::~ExampleWindow() { } void ExampleWindow::on_button_toggled() { std::cout << "The Button was toggled: state=" << (m_button.get_active() ? "true" : "false") << std::endl; }