简单的例子
在开始介绍 gtkmm 之前,我们将以一个尽可能简单的程序开始。这个程序创建一个 200 x 200 像素大小的空窗口。
File: base.cc (For use with gtkmm 4)
#include <gtkmm.h> class MyWindow : public Gtk::Window { public: MyWindow(); }; MyWindow::MyWindow() { set_title("Basic application"); set_default_size(200, 200); } int main(int argc, char* argv[]) { auto app = Gtk::Application::create("org.gtkmm.examples.base"); return app->make_window_and_run<MyWindow>(argc, argv); }
我们会逐行讲解这个例子
#include <gtkmm.h>
所有的 gtkmm 程序都需要包含一些特定的 gtkmm 头文件;gtkmm.h 包含了所有 gtkmm 的内容。通常来说,这并不是一个好主意,因为它包括了一兆左右的头文件。当然,对于这个简单的程序,这就够了。
下一条语句:
auto app = Gtk::Application::create("org.gtkmm.examples.base");
接下来的两行代码创建一个窗口并设置其的初始大小:
Gtk::Window window; window.set_default_size(200, 200);
最后一行显示窗口并进入gtkmm主循环,当窗口被关闭。你的main()函数将会返回成功或者适当的错误码。
return app->run(window, argc, argv);
将源代码保存到 simple.cc 后,你可以使用 gcc 编译上面的程序:
g++ simple.cc -o simple `pkg-config gtkmm-4.0 --cflags --libs`