欢迎光临散文网 会员登陆 & 注册

gtk+ 表格容器(table)操作函数的学习

2023-01-16 11:15 作者:秋名山西  | 我要投稿

一、函数介绍

两个函数原型分别为:

参数解释:

table为表容器的名字,

child和widget为需要添加到表容器的构件的名字。

left_attach:构件所在表格cell左上角坐标的x值

right_attach:构件所在表格cell右下角坐标的x值

top_attach:构件所在表格cell左上角坐标的y值

botton_attach:构件所在表格cell右下角坐标的y值

这里值得一提的是:多个cell可以组成一个大cell,此时的大cell的参数计算方法也是按左上角和右下角的坐标值来计算。

xoptions:控制表格cell的x方向的填充方式

yoptions:控制表格cell的y方向的填充方式

填充方式可以用GTK_FILL、GTK_SHRINK和GTK_EXPAND,或者用3者的任意组合。其中GTK_FILL选项表示构件充分利用分配给它的空间进行扩展。GTK_SHRINK选项允许构件缩小到比原来分配的空间还小的空间。GTK_EXPAND选项使表扩展填满它插入的所有空间。

xpadding:表示x方向围绕构件填充的像元数。

ypadding:表示y方向围绕构件填充的像元数。

二、用法介绍

从功能上来说,两个函数都可以实现将构件加到表中的功能。但是添加的方式不一样。从上面展示的函数原型来看,gtk_table_attach与gtk_table_attach_defaults前6个参数是一样的,但函数名后者比前者多了一个“defaults”,它表示的意思是gtk_table_attach_defaults没有进行传递的参数都采用默认值。即:

xoptions和yoptions的值为(GTK_FILL|GTK_EXPAND),表示构建将完全占满分配给它的表格空间,此时若我们直接将控件加入表格,那么我们对控件大小的设置将会失效,控件的大小将有表格的cell的大小决定。

xpadding和ypadding:默认为0,目前来看可以设置为0。

因此,

(1)倘若我们无需对控件在表格中的大小进行干预,则可以直接使用gtk_table_attach_dfaults将控件放入表格中,此时控件的大小与表格的cell保持一致。

(2)若我们需要对控件在表格中的大小进行干预,则需要调用gtk_table_attach,将控件在表格cell中的填充方式设置为GTK_SHRINK,允许控件的大小小于表格cell的大小。此时再调用gtk_widget_set_size_request函数设置控件的大小(不能大于表格cell),即可完成对表格中控件大小的控制。当然,我们也可以将控件先放入一个固定容器后,再放入表格中,两种方式的优劣可能只是在内存占用上的区别,都可以使用控件大小的控制。

gtk+ 表格容器(table)操作函数的学习的评论 (共 条)

分享到微博请遵守国家法律