概述
实践中表明,纯粹利用 gtk 函数来创建 UI 是很繁琐的事,需要编写很多代码。怎样才能快速统一的建立 UI 布局呢?
可喜的是 GTK 提供了一个 GtkBuilder 用于快速创建界面。它读取一个 xml 文件。按照 xml 文件中所描述的来创建界面。因此我们需要编写 xml 文件。
创建example.ui ,内容如下:
True
GtkBuilder
30
True
True
Button 1
0
0
True
Button 2
1
0
True
0
1
2
再创建源文件 example.c ,内容如下:
#include
static void print_hello(GtkWidget *button , gpointer data);
static void activate(GtkApplication *app , gpointer data);
static void print_entry(GtkWidget * button , gpointer entry);
int main(int argc , char **argv)
{
GtkApplication *app;
int app_status;
app = gtk_application_new("org.rain.example" , G_APPLICATION_FLAGS_NONE);
g_signal_connect(app , "activate" , G_CALLBACK(activate) , NULL);
app_status = g_application_run(G_APPLICATION(app) , argc , argv);
g_object_unref(app);
return app_status;
}
static void print_hello(GtkWidget *button , gpointer data)
{
printf("Hello,world!n");
}
static void print_entry(GtkWidget * button , gpointer entry)
{
const gchar *entry_buf;
//获取输入框的内容,返回一个 const gchar 指针 , gchar 即是 char
entry_buf = gtk_entry_get_text( GTK_ENTRY(entry) );
if('