Gtk基础学习总结 1

来源:互联网 发布:永不翻案邓希贤 知乎 编辑:程序博客网 时间:2024/06/16 01:52

  第一个GTK程序例子:

  #include

  #include

  int main(int argc, char *argv[])

  {

  gtk_init(NULL,NULL);                  //初始化GTK

  GtkWindow *window =gtk_window_new(GTK_WINDOW_TOPLEVEL); //新建一个window窗口

  gtk_window_set_title(window,"窗口标题");         //设置窗口标题

  g_signal_connect(window,"destroy",gtk_main_quit,0); //设置窗口的"destroy"信号(事件)的处理函数“gtk_main_quit()”

  gtk_widget_show(window);                //显示窗口

  gtk_main();                        //程序阻塞

  return 0;

  }

  一、常用方法

  //widget操作函数

  void gtk_widget_show(widget);

  void gtk_widget_hide(widget);

  void gtk_widget_set_sensitive(widget,sensitive);

  void gtk_widget_set_size_request(widget,width,height);

  //window操作函数

  gtk_window_set_resizable(window,resizable);

  gtk_window_set_position(window,GTK_WIN_POS_CENTER_ALWAYS);

  gtk_window_maximize(window);

  gtk_container_add(container,widget); //将widget装到container中

  gtk_AAA_get_BBB();

  gtk_AAA_set_BBB();

  //gtk_widget_set_title(widget,"标题");

  二、GtkBox(盒子)布局

  //创建盒子

  GtkBox *box1=gtk_box_new(GTK_ORIENTATION_HORIZONTAL,0);

  //GtkBox *box1=gtk_box_new(GTK_ORIENTATION_VERTICAL,0);

  gtk_container_add(window,box1);

  gtk_widget_show(box1);

  //添加按钮1

  GtkButton *btn1=gtk_button_new();

  gtk_button_set_label(btn1,"按钮1");

  gtk_box_pack_start(box1,btn1,FALSE,FALSE,0);

  gtk_widget_show(btn1);

  //添加按钮2

  GtkButton *btn2=gtk_button_new();

  gtk_button_set_label(btn2,"按钮2");

  gtk_box_pack_start(box1,btn2,FALSE,FALSE,0);

  gtk_widget_show(btn2);

  //添加文本框1

  GtkEntry *entry1=gtk_entry_new();

  gtk_box_pack_start(box1,entry1,FALSE,FALSE,0);

  gtk_widget_show(entry1);

  三、网格布局

  /*

  GtkGrid *grid1=gtk_grid_new();

  gtk_container_add(window,grid1);

  gtk_widget_show(grid1);

  //gtk_grid_attack(GtkGrid,widget,int left,int top,int width,int height);

  //添加按钮1

  GtkButton *btn1=gtk_button_new();

  gtk_button_set_label(btn1,"按钮1");

  gtk_grid_attach(grid1,btn1,0,0,1,1);

  gtk_widget_show(btn1);

  //添加按钮2

  GtkButton *btn2=gtk_button_new();

  gtk_button_set_label(btn2,"按钮2");

  gtk_grid_attach(grid1,btn2,1,0,1,1);

  gtk_widget_show(btn2);

  //添加按钮3

  GtkButton *btn3=gtk_button_new();

  gtk_button_set_label(btn3,"按钮3");

  gtk_grid_attach(grid1,btn3,0,1,2,2);

  gtk_widget_show(btn3);

  */

0 0