Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->系统管理 ->正文

GTK入门导引

来源:Linux-cn.com 作者:Webmaster 时间:2007-05-05 点击: [收藏] [投稿]

  xpm_label_box函数可用来包装xpm及labels到物件中使其成为container.

  6.2 双态按钮

  双态按钮跟一般按钮很像, 除了它们有两种状态, 由"click"来切换. 他们可以是"被按下的", 当您再按一次, 它们会还原. 再按一次会再被按下去.

  双态按钮是check按钮及radio按钮的基础. 它们有许多函数是继承双态按钮而来. 我等一下会把它们指出来.

  产生一个双态按钮:


GtkWidget* gtk_toggle_button_new (void);
GtkWidget* gtk_toggle_button_new_with_label (gchar *label);

  您可以看到, 这些跟一般按钮函数的用法一模一样. 第一个产生一个空白的双态按钮, 第二个则有个标签包在一起.

  要取得双态按钮的状态, 包含了check及radio按钮也一样, 我们用以下范例中所使用的巨集. 这会测试该按钮的状态. 当我们按下按钮时, 双态按钮的信号("toggled")会送给我们. 要取得其状态, 设定好信号处理器来接取"toggled"信号, 并使用该巨集来决定其状态. 该callback函数看起来像这样:


void toggle_button_callback (GtkWidget *widget, gpointerdata)
{
if (GTK_TOGGLE_BUTTON (widget)->active) 
{
/* If control reaches here, the toggle button is depressed. */
}
}
void gtk_toggle_button_set_state (GtkToggleButton *toggle_button,
gint state);

  以上的函数呼叫可用来设定双态按钮的状态(包含check及radio) 传您所产生的按钮做为第一个参数, 然後TRUE或FALSE做为第二个用来指定它是up(release)或down(depressed). 内定值是up, 或FALSE.


voidgtk_toggle_button_toggled(GtkToggleButton *toggle_button);

  这个会切换该按钮, 并送出"toggled"信号.

  6.3 Check按钮

  Check按钮有很多性质与双态按钮一样, 但外观看起来不同. 在文字上没有边框, 而在左边有个小方块. 这个在软体中选择要不要某个选项用得很频繁.

  两个产生的函数跟一般按钮一样.


GtkWidget* gtk_check_button_new (void);
GtkWidget* gtk_check_button_new_with_label (gchar *label);

  new_with_label函数产生一个check按钮并带一个标签在其右侧.

  测试check按钮的方法跟双态按钮一样.

  6.4 Radio Buttons

  Radio按钮与check按钮很像, 除了它们是成群的. 因而我们可以在一群中选择其中一个.

  产生一个新的radio按钮是由以下函数所达成的:


GtkWidget* gtk_radio_button_new (GSList *group);
GtkWidget* gtk_radio_button_new_with_label (GSList *group,
gchar *label);

  您看到有个额外的参数. 因为它需要一个group来达成这项工作. 第一个函数可以用NULL来做参数. 然後产生一个group:


GSList* gtk_radio_button_group (GtkRadioButton *radio_button);

  然後传这个group做为第一个参数给gtk_radio_button_new或new_with_label. 您也可以乾脆指明那一个是内定的.


void gtk_toggle_button_set_state (GtkToggleButton *toggle_button,
gint state);

  这个跟双态按钮一样.

  7. Tooltips物件

  他们是当您停在某个物件(像按钮或其它物件)上几秒时, 会自动出现的一个小的文字视窗. 它们很容易使用, 因此我只解释一下, 而不给范例程式. 如果您想看看一些范例程式, 可参考GDK内的testgtk.c.

  有些物件(像标签)无法与tooltips一起用.

  第一个呼叫的函数会产生一个新的tooltip. 您只需要呼叫这个函数一次. GtkTooltip这个函数的返回值可用来产生许多个tooltips.


GtkTooltips *gtk_tooltips_new (void);

  一旦您产生了一个新的tooltip, 您要设定到某个物件上, 只要呼叫这个函数即可.


void gtk_tooltips_set_tips(GtkTooltips *tooltips,
GtkWidget*widget,
gchar*tips_text);

  第一个参数是您刚才产生的tooltip, 接著是您希望使用的物件, 然後是您希望显示的文字.

  这里有个简短的范例:


GtkTooltips *tooltips;
GtkWidget *button;
...
tooltips = gtk_tooltips_new ();
button = gtk_button_new_with_label ("button 1");
...
gtk_tooltips_set_tips (tooltips, button, "This is button 1");

  tooltip还有其它的一些函数. 我只简短的介绍一下.



 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<

上一页 1 2 3 4 5 6 7 89 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 下一页


上一篇:GTK+/Gnome应用开发   下一篇:GTK v1.2 Tutorial(英文)

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
·Motorola微处理器bootloader分析与应用
·Fedora Core5 NFS服务器搭建过程介绍
·Linux系统:让内存不再泄漏的实用技巧
·新手看招 手把手教你安装VMware虚拟机
·“侵权事件” 红帽称微软企图干扰用户
·删除Linux后 如何找回Windows启动菜单
·菜鸟乐园 Linux中常见文件系统格式介绍
·Linux操作系统下IPTables配置方法详解
·实用技巧 Linux系统的经典使用技巧八则
·Linux系统文件优化及磁盘检查方法介绍
Power by linux-cn.com 粤ICP备05006655号