📄 gtktable.html
字号:
<HTML><HEAD><TITLE>GtkTable</TITLE><METANAME="GENERATOR"CONTENT="Modular DocBook HTML Stylesheet Version 1.61"><LINKREL="HOME"TITLE="GTK+ Reference Manual"HREF="index.html"><LINKREL="UP"TITLE="GTK+ Widgets and Objects"HREF="gtkobjects.html"><LINKREL="PREVIOUS"TITLE="GtkStatusbar"HREF="gtkstatusbar.html"><LINKREL="NEXT"TITLE="GtkTearoffMenuItem"HREF="gtktearoffmenuitem.html"></HEAD><BODYCLASS="REFENTRY"BGCOLOR="#FFFFFF"TEXT="#000000"LINK="#0000FF"VLINK="#840084"ALINK="#0000FF"><DIVCLASS="NAVHEADER"><TABLEWIDTH="100%"BORDER="0"BGCOLOR="#000000"CELLPADDING="1"CELLSPACING="0"><TR><THCOLSPAN="4"ALIGN="center"><FONTCOLOR="#FFFFFF"SIZE="5">GTK+ Reference Manual</FONT></TH></TR><TR><TDWIDTH="25%"BGCOLOR="#C00000"ALIGN="left"><AHREF="gtkstatusbar.html"><FONTCOLOR="#FFFFFF"SIZE="3"><B><<< Previous Page</B></FONT></A></TD><TDWIDTH="25%"BGCOLOR="#0000C0"ALIGN="center"><FONTCOLOR="#FFFFFF"SIZE="3"><B><AHREF="index.html"><FONTCOLOR="#FFFFFF"SIZE="3"><B>Home</B></FONT></A></B></FONT></TD><TDWIDTH="25%"BGCOLOR="#00C000"ALIGN="center"><FONTCOLOR="#FFFFFF"SIZE="3"><B><AHREF="gtkobjects.html"><FONTCOLOR="#FFFFFF"SIZE="3"><B>Up</B></FONT></A></B></FONT></TD><TDWIDTH="25%"BGCOLOR="#C00000"ALIGN="right"><AHREF="gtktearoffmenuitem.html"><FONTCOLOR="#FFFFFF"SIZE="3"><B>Next Page >>></B></FONT></A></TD></TR></TABLE></DIV><H1><ANAME="GTKTABLE">GtkTable</A></H1><DIVCLASS="REFNAMEDIV"><ANAME="AEN40026"></A><H2>Name</H2>GtkTable -- Pack widgets in regular patterns.</DIV><DIVCLASS="REFSYNOPSISDIV"><ANAME="AEN40029"></A><H2>Synopsis</H2><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="SYNOPSIS"> #include <gtk/gtk.h>struct <AHREF="gtktable.html#GTKTABLE-STRUCT">GtkTable</A>;struct <AHREF="gtktable.html#GTKTABLECHILD">GtkTableChild</A>;struct <AHREF="gtktable.html#GTKTABLEROWCOL">GtkTableRowCol</A>;<AHREF="gtkwidget.html">GtkWidget</A>* <AHREF="gtktable.html#GTK-TABLE-NEW">gtk_table_new</A> (<AHREF=../glib/glib-basic-types.html#GUINT>guint</A> rows, <AHREF=../glib/glib-basic-types.html#GUINT>guint</A> columns, <AHREF=../glib/glib-basic-types.html#GBOOLEAN>gboolean</A> homogeneous);void <AHREF="gtktable.html#GTK-TABLE-RESIZE">gtk_table_resize</A> (<AHREF="gtktable.html">GtkTable</A> *table, <AHREF=../glib/glib-basic-types.html#GUINT>guint</A> rows, <AHREF=../glib/glib-basic-types.html#GUINT>guint</A> columns);void <AHREF="gtktable.html#GTK-TABLE-ATTACH">gtk_table_attach</A> (<AHREF="gtktable.html">GtkTable</A> *table, <AHREF="gtkwidget.html">GtkWidget</A> *child, <AHREF=../glib/glib-basic-types.html#GUINT>guint</A> left_attach, <AHREF=../glib/glib-basic-types.html#GUINT>guint</A> right_attach, <AHREF=../glib/glib-basic-types.html#GUINT>guint</A> top_attach, <AHREF=../glib/glib-basic-types.html#GUINT>guint</A> bottom_attach, <AHREF="gtk-standard-enumerations.html#GTKATTACHOPTIONS">GtkAttachOptions</A> xoptions, <AHREF="gtk-standard-enumerations.html#GTKATTACHOPTIONS">GtkAttachOptions</A> yoptions, <AHREF=../glib/glib-basic-types.html#GUINT>guint</A> xpadding, <AHREF=../glib/glib-basic-types.html#GUINT>guint</A> ypadding);void <AHREF="gtktable.html#GTK-TABLE-ATTACH-DEFAULTS">gtk_table_attach_defaults</A> (<AHREF="gtktable.html">GtkTable</A> *table, <AHREF="gtkwidget.html">GtkWidget</A> *widget, <AHREF=../glib/glib-basic-types.html#GUINT>guint</A> left_attach, <AHREF=../glib/glib-basic-types.html#GUINT>guint</A> right_attach, <AHREF=../glib/glib-basic-types.html#GUINT>guint</A> top_attach, <AHREF=../glib/glib-basic-types.html#GUINT>guint</A> bottom_attach);void <AHREF="gtktable.html#GTK-TABLE-SET-ROW-SPACING">gtk_table_set_row_spacing</A> (<AHREF="gtktable.html">GtkTable</A> *table, <AHREF=../glib/glib-basic-types.html#GUINT>guint</A> row, <AHREF=../glib/glib-basic-types.html#GUINT>guint</A> spacing);void <AHREF="gtktable.html#GTK-TABLE-SET-COL-SPACING">gtk_table_set_col_spacing</A> (<AHREF="gtktable.html">GtkTable</A> *table, <AHREF=../glib/glib-basic-types.html#GUINT>guint</A> column, <AHREF=../glib/glib-basic-types.html#GUINT>guint</A> spacing);void <AHREF="gtktable.html#GTK-TABLE-SET-ROW-SPACINGS">gtk_table_set_row_spacings</A> (<AHREF="gtktable.html">GtkTable</A> *table, <AHREF=../glib/glib-basic-types.html#GUINT>guint</A> spacing);void <AHREF="gtktable.html#GTK-TABLE-SET-COL-SPACINGS">gtk_table_set_col_spacings</A> (<AHREF="gtktable.html">GtkTable</A> *table, <AHREF=../glib/glib-basic-types.html#GUINT>guint</A> spacing);void <AHREF="gtktable.html#GTK-TABLE-SET-HOMOGENEOUS">gtk_table_set_homogeneous</A> (<AHREF="gtktable.html">GtkTable</A> *table, <AHREF=../glib/glib-basic-types.html#GBOOLEAN>gboolean</A> homogeneous); </PRE></TD></TR></TABLE></DIV><DIVCLASS="REFSECT1"><ANAME="AEN40079"></A><H2>Object Hierarchy</H2><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="SYNOPSIS"> <AHREF="gtkobject.html">GtkObject</A> +----<AHREF="gtkwidget.html">GtkWidget</A> +----<AHREF="gtkcontainer.html">GtkContainer</A> +----GtkTable</PRE></TD></TR></TABLE></DIV><DIVCLASS="REFSECT1"><ANAME="AEN40085"></A><H2>Args</H2><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="SYNOPSIS"> "<AHREF="gtktable.html#GTKTABLE--N-ROWS">n-rows</A>" <AHREF=../glib/glib-basic-types.html#GUINT>guint</A> : Read / Write "<AHREF="gtktable.html#GTKTABLE--N-COLUMNS">n-columns</A>" <AHREF=../glib/glib-basic-types.html#GUINT>guint</A> : Read / Write "<AHREF="gtktable.html#GTKTABLE--ROW-SPACING">row-spacing</A>" <AHREF=../glib/glib-basic-types.html#GUINT>guint</A> : Read / Write "<AHREF="gtktable.html#GTKTABLE--COLUMN-SPACING">column-spacing</A>" <AHREF=../glib/glib-basic-types.html#GUINT>guint</A> : Read / Write "<AHREF="gtktable.html#GTKTABLE--HOMOGENEOUS">homogeneous</A>" <AHREF=../glib/glib-basic-types.html#GBOOLEAN>gboolean</A> : Read / Write</PRE></TD></TR></TABLE></DIV><DIVCLASS="REFSECT1"><ANAME="AEN40098"></A><H2>Description</H2><P>The GtkTable functions allow the programmer to arrange widgets in rows andcolumns, making it easy to align many widgets next to each other,horizontally and vertically.</P><P>Tables are created with a call to <AHREF="gtktable.html#GTK-TABLE-NEW">gtk_table_new</A>(), the size of which canlater be changed with <AHREF="gtktable.html#GTK-TABLE-RESIZE">gtk_table_resize</A>().</P><P>Widgets can be added to a table using <AHREF="gtktable.html#GTK-TABLE-ATTACH">gtk_table_attach</A>() or the moreconvenient (but slightly less flexible) <AHREF="gtktable.html#GTK-TABLE-ATTACH-DEFAULTS">gtk_table_attach_defaults</A>().</P><P>To alter the space next to a specific row, use <AHREF="gtktable.html#GTK-TABLE-SET-ROW-SPACING">gtk_table_set_row_spacing</A>(),and for a column, <AHREF="gtktable.html#GTK-TABLE-SET-COL-SPACING">gtk_table_set_col_spacing</A>().</P><P>The gaps between <ICLASS="EMPHASIS">all</I> rows or columns can be changed by calling<AHREF="gtktable.html#GTK-TABLE-SET-ROW-SPACINGS">gtk_table_set_row_spacings</A>() or <AHREF="gtktable.html#GTK-TABLE-SET-COL-SPACINGS">gtk_table_set_col_spacings</A>() respectively.</P><P><AHREF="gtktable.html#GTK-TABLE-SET-HOMOGENEOUS">gtk_table_set_homogeneous</A>(), can be used to set whether all cells in thetable will resize themselves to the size of the largest widget in the table.</P></DIV><DIVCLASS="REFSECT1"><ANAME="AEN40116"></A><H2>Details</H2><DIVCLASS="REFSECT2"><ANAME="AEN40118"></A><H3><ANAME="GTKTABLE-STRUCT"></A>struct GtkTable</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING">struct GtkTable;</PRE></TD></TR></TABLE><P>The GtkTable structure holds the data for the actual table itself. <TTCLASS="STRUCTFIELD"><I>children</I></TT> is a <AHREF=../glib/glib-doubly-linked-lists.html#GLIST>GList</A> of all the widgets the table contains. <TTCLASS="STRUCTFIELD"><I>rows</I></TT> and <TTCLASS="STRUCTFIELD"><I>columns</I></TT> are pointers to <AHREF="gtktable.html#GTKTABLEROWCOL">GtkTableRowCol</A> structures, which contain the default spacing and expansion details for the <AHREF="gtktable.html">GtkTable</A>'s rows and columns, respectively.</P><P><TTCLASS="STRUCTFIELD"><I>nrows</I></TT> and <TTCLASS="STRUCTFIELD"><I>ncols</I></TT> are 16bit integers storing the number of rows and columns the table has. </P></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN40132"></A><H3><ANAME="GTKTABLECHILD"></A>struct GtkTableChild</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING">struct GtkTableChild{ GtkWidget *widget; guint16 left_attach; guint16 right_attach; guint16 top_attach; guint16 bottom_attach; guint16 xpadding; guint16 ypadding; guint xexpand : 1; guint yexpand : 1; guint xshrink : 1; guint yshrink : 1; guint xfill : 1; guint yfill : 1;};</PRE></TD></TR></TABLE><P>The <TTCLASS="STRUCTFIELD"><I>widget</I></TT> field is a pointer to the widget that this <TTCLASS="LITERAL">GtkTableChild</TT> structure is keeping track of.The <TTCLASS="STRUCTFIELD"><I>left_attach</I></TT>,<TTCLASS="STRUCTFIELD"><I>right_attach</I></TT>,<TTCLASS="STRUCTFIELD"><I>top_attach</I></TT>, and<TTCLASS="STRUCTFIELD"><I>bottom_attach</I></TT> fields specify the row and columnnumbers which make up the invisible rectangle that the child widget is packed into.</P><P><TTCLASS="STRUCTFIELD"><I>xpadding</I></TT> and <TTCLASS="STRUCTFIELD"><I>ypadding</I></TT>specify the space between this widget and the surrounding table cells.</P></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN40146"></A><H3><ANAME="GTKTABLEROWCOL"></A>struct GtkTableRowCol</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING">struct GtkTableRowCol{ guint16 requisition; guint16 allocation; guint16 spacing; guint need_expand : 1; guint need_shrink : 1; guint expand : 1; guint shrink : 1; guint empty : 1;};</PRE></TD></TR></TABLE><P>These fields should be considered read-only and not be modified directly.</P></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN40151"></A><H3><ANAME="GTK-TABLE-NEW"></A>gtk_table_new ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING"><AHREF="gtkwidget.html">GtkWidget</A>* gtk_table_new (<AHREF=../glib/glib-basic-types.html#GUINT>guint</A> rows, <AHREF=../glib/glib-basic-types.html#GUINT>guint</A> columns, <AHREF=../glib/glib-basic-types.html#GBOOLEAN>gboolean</A> homogeneous);</PRE></TD></TR></TABLE><P>Used to create a new table widget. An initial size must be given by specifying how many rows and columns the table should have, although this can be changed later with <AHREF="gtktable.html#GTK-TABLE-RESIZE">gtk_table_resize</A>().</P><DIVCLASS="INFORMALTABLE"><ANAME="AEN40161"></A><P></P
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -