GTKMM——GTK的C++封装-创新互联

1. Gtkmm学习资源
  • Gnome Projects
    https://wiki.gnome.org/Projects
    https://wiki.gnome.org/Projects/gtkmm
  • gtkmm: C++ Interfaces for GTK and GNOME
    https://gtkmm.org/en/
    https://developer-old.gnome.org/gtkmm-tutorial/stable/sec-gtkmm.html.zh_CN
  • Programming with gtkmm
    https://developer-old.gnome.org/gtkmm-tutorial/
  • gtkmm on Microsoft Windows
    https://wiki.gnome.org/Projects/gtkmm/MSWindows
  • gtkmm-documentation(github文档,有examples)
    https://gitlab.gnome.org/GNOME/gtkmm-documentation/-/tree/master/
2. CB20.03+Gtkmm-3.0+MSYS2
  • 安装参考网址: https://wiki.gnome.org/Projects/gtkmm/MSWindows
  • CB20.03配置和Gtk在CB中的配置过程一样,首先使用pkg-config查寻gtkmm编译依赖相关信息:
# pkg-config --cflags  gtkmm-3.0 |xargs -n1

在这里插入图片描述

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册网站空间、营销软件、网站建设、乐安网站维护、网站推广。
# pkg-config --libs  gtkmm-3.0 |xargs -n2

在这里插入图片描述
然后,在CB中新建一个基于C++语言的console项目,并打开项目的Build options...进行以下配置:

1. Other compiler options

在这里插入图片描述

2. Linker settings

在这里插入图片描述

3. Search directories

在这里插入图片描述

3. Hello,Gtkmm
#includeint main(int argc, char** argv)
{auto app = Gtk::Application::create(argc, argv);

        Gtk::Window window;
        window.set_title("Hello,Gtkmm..");
        window.set_default_size(400,300);

        return app->run(window);
}

在这里插入图片描述

4. 一个带点击事件的简单按钮窗口
#include#include#include#includeclass Buttons : public Gtk::Window
{public:
  Buttons();
  virtual ~Buttons();

protected:
  //Signal handlers:
  void on_button_clicked();

  //Child widgets:
  Gtk::Button m_button;
};

Buttons::Buttons()
{m_button.add_pixlabel("info.xpm", "cool button");

  set_title("Pixmap'd buttons!");
  set_border_width(10);
  set_default_size(280,40);
  set_position(Gtk::WIN_POS_CENTER);
  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 is clicked"<< std::endl;
}

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);
}

在这里插入图片描述

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


当前标题:GTKMM——GTK的C++封装-创新互联
分享链接:http://scyanting.com/article/ddidgh.html