关于网站建设中原创文章的一些想法,百度品牌网站建设,如何提升网站的收录量,上海公共招聘平台目录概述GTKgtkmm安装gtkmm4hello,worldcodelite配置代码解释概述
GTK
GTK是一个小部件工具包。GTK创建的每个用户界面都由小部件组成。这是在C语言中使用GObject实现的#xff0c;GObject是一个面向对象的C语言框架。窗口小部件是主容器。然后通过向窗口中添加按钮、下拉菜…
目录概述GTKgtkmm安装gtkmm4hello,worldcodelite配置代码解释概述
GTK
GTK是一个小部件工具包。GTK创建的每个用户界面都由小部件组成。这是在C语言中使用GObject实现的GObject是一个面向对象的C语言框架。窗口小部件是主容器。然后通过向窗口中添加按钮、下拉菜单、输入字段和其他小部件来构建用户界面。如果要创建复杂的用户界面建议使用GtkBuilder及其特定于GTK的标记描述语言而不是手动组装界面。
GTK是事件驱动的。工具包侦听事件例如单击按钮并将事件传递给应用程序。GTK对所有文本使用UTF-8编码。这确保您可以使用您的母语或世界各地的任何其他语言开发应用程序。GTK支持HiDPI显示。为已经定义良好的用户体验增添了一份力量。可以在GTK应用程序中启用高DPI支持。GTK将始终使用最有效的方式绘制应用程序以最大化性能并利用硬件在GTK中指针和触摸事件被无缝处理使您的应用程序可以在各种输入设备上开箱即用。
gtkmm
gtkmm是流行GUI库GTK的官方C接口。亮点包括类型安全回调以及一组易于通过继承进行扩展的小部件。您可以使用Gtk:Builder在代码中或使用Glade用户界面设计器创建用户界面。有大量的文档包括API参考和教程。
gtkmm是根据GNU较宽松通用公共许可证LGPL发布的自由软件。
特色 使用继承来派生定制的组件。 类型安全的信号句柄而且是标准 C。 多态。 使用标准 C 库包括字符串、容器和迭代器。 通过 UTF8 完全的支持国际化。 完全的 C 内存管理 对象组合(Object composition) 自动释放动态分配的组件。 完全使用了 C 的命名空间(namespaces)。 没有宏(MACRO) Cross-platform: Linux (gcc), FreeBSD (gcc), NetBSD (gcc), Solaris (gcc, Forte), Win32 (gcc, MSVC 2013 or later (gtkmm3), MSVC 2017 or later (gtkmm4)), MacOS X (gcc), others 自由免费的软件无论是开发开源软件还是闭源软件都是免费的。
安装gtkmm4
$ sudo dnf install gtkmm4.0*hello,world
1、codelite新建项目 输入代码
#include gtkmm.hclass HelloWindow : public Gtk::Window
{
public:HelloWindow();
};HelloWindow::HelloWindow()
{set_title(hello,world);set_default_size(200, 200);
}int main(int argc, char* argv[])
{auto app Gtk::Application::create(HelloGtkMN);return app-make_window_and_runHelloWindow(argc, argv);
}
命令行编译运行
$ g main.cpp -o simple pkg-config --cflags --libs gtkmm-4.0 -stdc17
$ ./simple必须用反引号括住pkg配置调用。反引号使shell在它们内部执行命令并将命令的输出作为命令行的一部分。 codelite配置 代码解释
所有gtkmm程序必须包含某些gtkmm标头gtkmm.h包括整个gtkmm套件。
#include gtkmm.h定义HelloWindow类。
class HelloWindow : public Gtk::Window
{
public:HelloWindow();
};它的默认构造函数设置窗口的标题和默认初始大小。
HelloWindow::HelloWindow()
{set_title(hello,world);set_default_size(200, 200);
}创建Gtk:Application对象存储在GlibRefPtr智能指针中。这在所有gtkmm应用程序中都需要。此对象的create方法初始化gtkmm。
int main(int argc, char* argv[])
{auto app Gtk::Application::create(HelloGtkMN);return app-make_window_and_runHelloWindow(argc, argv);
}最后一行创建并显示一个窗口并进入gtkmm主处理循环该循环将在窗口关闭时完成。然后main函数将返回相应的成功或错误代码。当调用make_window_and_run时可以检查在命令行上传递给应用程序的argc和argv参数但这个简单的应用程序不使用这些参数。