#include <gtk/gtk.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
/****** To Simplify The Code Difficulty,Define The Follow Words ******/
#define gtkwidget GtkWidget
//构件的创建
#define gtk_init() gtk_init(&argc,&argv)
//gtk的初始化
#define set_title gtk_window_set_title
//窗口的标题: set_title(GTK_WINDOW(构件的名称),"标题");
#define set_position gtk_window_set_position
//窗口的位置: set_position(GTK_WINDOW(构件的名称),GTK_WIN_POS_CENTER);
#define set_size gtk_window_set_default_size
//窗口的大小: set_size(GTK_WINDOW(构件的名称),300,400);
#define gtk_window GTK_WINDOW
#define gtk_container GTK_CONTAINER
/****** ******/
int main(int argc, char *argv[])
{
gtkwidget *main_window; //创建控件
gtkwidget *button1; //创建按钮1
gtkwidget *button2; //创建按钮2
gtk_init();
//一个只能容纳一个控件的main-window控件
main_window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
set_title(gtk_window(main_window),"TEST");
set_size(gtk_window(main_window),400,400);
set_position(gtk_window(main_window),GTK_WIN_POS_CENTER);
//创建按钮
button1 = gtk_button_new_with_label("hello gtk");
button2 = gtk_button_new_with_label("this my test0");
//将button1放入窗口容器中
gtk_container_add(gtk_container(main_window),button1);
/*
gtk_container_add(gtk_container(main_window),button2);
在这里会添加button2会失败,因为main_window是只能容纳一个控件的容器
*/
//显示上一步创建的窗口、按钮
/*
gtk_widget_show(main_window);
gtk_widget_show(button1);
上面的两行语句可以用下面的这个来进行代替
*/
gtk_widget_show_all(main_window); //显示main_window容器下的所有的控件
/*********gtk的框架结尾:主事件循环*******/
gtk_main();
return 0;
}
/*
gtk中的控件分为两种控件:
(1)容器控件 --------A.容纳一个控件的容器控件:
窗口、按钮;
--------B.容纳多个控件的容器控件:
布局控件;
(2)非容器控件 -------- 标签、行编辑;
窗口添加按钮的步骤:
(1)创建按钮:
gtkwidget * button;
button = gtk_button_new_label("button text");
(2)在窗口容器内添加按钮:
gtk_container_add(gtk_container(target_window),button);
(3)显示按钮:
方式A:
gtk_widget_show(target_window);
gtk_widget_show(button);
方式B:
get_widget_show_all(target_window);
*/