用这个程序模板,就可以告别只能在黑框框的终端中编程了。
在 Linux 环境下使用纯 C 语言编写一个按钮,当按钮按下时,在一个新窗口显示 "Hello World"。我们可以使用 GTK 库来实现这个功能。GTK 是一个用于创建图形用户界面的跨平台工具包。
以下是一个示例程序,它创建一个窗口,包含一个按钮。当按钮被按下时,会弹出一个新窗口并显示 "Hello World"。
首先,确保你的系统已经安装了 GTK 库。如果没有,可以使用以下命令安装:
sudo apt-get install libgtk-3-dev
#include <gtk/gtk.h>// 回调函数,当按钮被按下时调用
static void on_button_clicked(GtkWidget *widget, gpointer data) {GtkWidget *dialog;dialog = gtk_message_dialog_new(NULL,GTK_DIALOG_DESTROY_WITH_PARENT,GTK_MESSAGE_INFO,GTK_BUTTONS_OK,"Hello World");gtk_dialog_run(GTK_DIALOG(dialog));gtk_widget_destroy(dialog);
}int main(int argc, char *argv[]) {GtkWidget *window;GtkWidget *button;// 初始化 GTKgtk_init(&argc, &argv);// 创建一个新窗口window = gtk_window_new(GTK_WINDOW_TOPLEVEL);gtk_window_set_title(GTK_WINDOW(window), "Hello World Button");gtk_container_set_border_width(GTK_CONTAINER(window), 10);gtk_window_set_default_size(GTK_WINDOW(window), 200, 100);// 当窗口关闭时,退出 GTK 主循环g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL);// 创建一个按钮,并设置按钮标签button = gtk_button_new_with_label("Press Me");// 当按钮被按下时,调用回调函数 on_button_clickedg_signal_connect(button, "clicked", G_CALLBACK(on_button_clicked), NULL);// 将按钮添加到窗口中gtk_container_add(GTK_CONTAINER(window), button);// 显示所有窗口内的控件gtk_widget_show_all(window);// 进入 GTK 主循环gtk_main();return 0;
}
保存上述代码到一个名为 hello_world_button.c
的文件中,然后使用以下命令编译并运行该程序:
gcc hello_world_button.c -o hello_world_button `pkg-config --cflags --libs gtk+-3.0`
./hello_world_button
当你运行该程序时,会出现一个窗口,包含一个标签为 "Press Me" 的按钮。点击按钮后,会弹出一个新窗口,显示 "Hello World"。