Guest User

Untitled

a guest
Nov 18th, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.43 KB | None | 0 0
  1. /*格状容器table.c*/
  2. #include<gtk/gtk.h>
  3.  
  4. int main(int argc, char*argv[])
  5. {
  6. GtkWidget *window;
  7. GtkWidget *table;
  8. GtkWidget *button1;
  9. GtkWidget *button2;
  10. GtkWidget *button3;
  11. GtkWidget *button4;
  12. GtkWidget *button5;
  13. GtkWidget *button6;
  14. GtkWidget *frame;
  15.  
  16. //初始化GTK
  17. gtk_init(&argc,&argv);
  18. //创建最上层主窗口
  19. window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  20. //连接信号"delete_event",使得窗口关闭时发生
  21. g_signal_connect(G_OBJECT(window),"delete_event",G_CALLBACK(gtk_main_quit),NULL);
  22. //设置窗口标题
  23. gtk_window_set_title(GTK_WINDOW(window),"格状容器");
  24. //设定窗口的默认宽高
  25. gtk_window_set_default_size(GTK_WINDOW(window),200,300);
  26. //设定窗口的位置,让窗口总在最前端
  27. gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER);
  28. //设定容器边框的宽度
  29. gtk_container_set_border_width(GTK_CONTAINER(window),20);
  30.  
  31. //创建框架
  32. frame = gtk_frame_new("请注意下列按钮的排列");
  33. //把框架放进窗口
  34. gtk_container_add(GTK_CONTAINER(window),frame);
  35.  
  36. //创建格状容器,行数、列数、是否均匀分配
  37. table= gtk_table_new(4,4,FALSE);
  38. //设定容器边框的宽度
  39. gtk_container_set_border_width(GTK_CONTAINER(table),10);
  40. //为所有的行和列之间设置相同的空白,均为5个像素
  41. gtk_table_set_row_spacings(GTK_TABLE(table),5);
  42. gtk_table_set_col_spacings(GTK_TABLE(table),5);
  43. //把格状容器放进框架
  44. gtk_container_add(GTK_CONTAINER(frame),table);
  45.  
  46. //创建一个带有标签的按钮
  47. button1 = gtk_button_new_with_label("0,1,0,1");
  48. //把按钮放入格状容器,“0,1,0,1”表示四个坐标,从左往右,从上到下,GTK_FILL:可填充,“0,0”间隔距离
  49. gtk_table_attach(GTK_TABLE(table),button1,0,1,0,1,GTK_FILL,GTK_FILL,0,0);
  50.  
  51. button2 = gtk_button_new_with_label("1,3,1,3");
  52. gtk_table_attach(GTK_TABLE(table),button2,1,3,1,3,GTK_FILL,GTK_FILL,0,0);
  53.  
  54. button3 = gtk_button_new_with_label("0,1,1,3");
  55. //简写,默认间隔为0
  56. gtk_table_attach_defaults(GTK_TABLE(table),button3,0,1,1,3);
  57.  
  58. button4 = gtk_button_new_with_label("1,3,0,1");
  59. gtk_table_attach_defaults(GTK_TABLE(table),button4,1,3,0,1);
  60.  
  61. button5= gtk_button_new_with_label("0,4,3,4");
  62. gtk_table_attach_defaults(GTK_TABLE(table),button5,0,4,3,4);
  63.  
  64. button6= gtk_button_new_with_label("3,4,0,3");
  65. gtk_table_attach_defaults(GTK_TABLE(table),button6,3,4,0,3);
  66.  
  67. //显示所有控件
  68. gtk_widget_show_all(window);
  69. gtk_main();
  70. return FALSE;
  71.  
  72. }
Add Comment
Please, Sign In to add comment