C语言借助GTK+库创建图形界面:安装与简介

[id_972904733]

C语言借助GTK+库创建图形界面:安装与简介

C语言是一种很强大的编程语言。它通常被应用于系统编程以及底层开发。不过,借助一些特定的库,我们能够用 C 语言去创建图形用户界面(GUI)。在这篇文章里,我们将会讲解怎样使用 GTK+库来开展基本的图形界面开发工作。

GTK+简介

GTK+ 支持多种操作系统,比如 Linux、Windows 和 macOS。

安装 GTK+

在开始之前,我们得先把 GTK+ 的开发环境给安装好。下面是在不同操作系统上的安装方式:

Windows 能够下载并安装 MSYS2 ,也可以直接从 [GTK 官网] 下载预编译的二进制文件。

macOS:可以通过 Homebrew 安装:

brew install gtk+3

创建第一个 GUI 应用程序

我们完成了 GTK 的安装之后,就能够开始我们的第一个 GUI 程序了。接下来是一个简单的示例代码,它会显示一个带有“Hello, World!”按钮的窗口。

ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line#include h>
// 按钮点击事件回调函数static void on_button_clicked(GtkWidget *widget 以及 gpointer data[id_950100020]    g_print("Hello, World!\n");}
// 主函数[id_1479520077]main(int argc, char *argv[]) {    GtkWidget *window;    GtkWidget *button;
    // 初始化 GTK+    gtk_init(&argc, &argv);
    // 创建主窗口,并设置标题和大小    window = gtk_window_new(GTK_WINDOW_TOPLEVEL);    g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL);        button = gtk_button_new_with_label("Click Me!");        // 为按钮添加点击事件处理函数    g_signal_connect(button, "clicked", G_CALLBACK(on_button_clicked), NULL);        // 将按钮添加到主窗口中    gtk_container_add(GTK_CONTAINER(window), button);
    // 显示所有窗口组件    gtk_widget_show_all(window);
     // 设置窗口尺寸并显示它      gtk_window_set_default_size(GTK_WINDOW(window), 200, 100);
     // 开始运行主循环      gtk_main();
     return 0;}

编译与执行

把上述代码保存成 hello.c ,接着运用以下这些命令来进行编译以及链接。

ounter(linegcchello.c 进行编译并生成可执行文件 hello ,在这个过程中需要使用 `pkg-config` 来获取 gtk+ 的相关配置信息,包括编译所需的头文件路径(`--cflags`)和链接所需的库文件路径及库名(`--libs`)。3.0`

然后运行生成的可执行文件:

ounter(lineounter(line./hello   # 在 Linux 和 macOS 上 hello.exe # 在 Windows 上 

运行这个程序时,会看到一个新窗口,窗口中包含“Click Me!”按键。点击这个按钮后,终端会输出 "Hello, World!"。

程序解析

使用 gtk_init()函数来初始化 GTK 环境,这是初始化 GTK 的操作,并且每个 GTK 应用都必须调用这一步。

使用 gtk_window_new()创建新的顶层窗体,然后通过信号连接 (g_signal_connect) 来定义关闭窗体的行为,也就是当窗体被销毁时会退出应用程序 (gtk_main_quit)。

创建按钮时,使用 gtk_button_new_with_label() 方法来创建标签为“Click Me!”的按钮。同时,建立了一条信号连接,以便当按钮被点击时,能够调用前面定义的回调函数 (on_button_clicked) 。

容器管理通过 gtk_container_add()方法把组件添加到窗体容器中。在这个示例中,是将按钮放进新建的窗体里。最后会调用一次显示所有组件的方法,即 gtk_widget_show_all()。

运行事件循环到最后时,需要调用 gtk_main() 来启动事件循环。这样能让应用保持响应以及具备交互能力,并且会一直持续到指定条件(例如关闭限制)结束这个循环为止。

小结

我们在这篇文章里学习了怎样利用 C 语言配合 GTK 库去构建既简单又实用的图形用户界面应用,涵盖了从基础设置一直到实际编写以及执行流程等方面,期望能给您带来启发。在后续的学习进程中,你能够去探寻更多的高级控件、布局以及诸如菜单栏、文本框等其他功能,从而构建出更复杂且有趣的小型应用。如果有兴趣,那就可以去查阅相关的资源,从而获取更多有关 GTK 的信息。

你可能想看:
« 上一篇
下一篇 »

相关推荐

FreeBasic:强大免费开源的64位basic编译器及应用优势

2025年05月10日

82阅读

脊柱侧弯矫正方法大盘点:运动康复、支具矫正等多种方式

2025年05月09日

87阅读

如何在winForm标题栏去掉标题文字且任务栏图标正常显示

2025年05月09日

86阅读

十一黄金周促销广告词大全,国庆购物狂欢等你来

2025年05月09日

78阅读

关闭快速编辑模式及插入模式,设置控制台指定文字颜色举例

2025年05月09日

63阅读

黄金搭档低糖高钙饮品包装及成分功效全解析,适合人群要知晓

2025年05月09日

91阅读