开关按钮 Toggle Buttons@GTK+ 2.0 中文教程连载
2010-12-21 14:22
239 查看
开关按钮 Toggle Buttons
开关按钮由一般按钮派生而来,并且非常相似,只是开关按钮有两个状态,通过点击可以切换。它们可以是被按下的(depressed),当你再点击一下,他们会弹起来。再点击一下,它们又会再弹下去。开关按钮是复选按钮和单选按钮的基础,所以单选按钮和复选按钮继承了许多开关按钮的函数调用。我会在讲到它们时指出这些来。
创建一个新的开关按钮:
GtkWidget *gtk_toggle_button_new( void ); GtkWidget *gtk_toggle_button_new_with_label( const gchar *label ); GtkWidget *gtk_toggle_button_new_with_mnemonic( const gchar *label ); |
我们是通过读取开关构件 (包括单选和复选按钮) 结构的 active
域,来检测开关按钮的状态。之前要用 GTK_TOGGLE_BUTTON
宏把构件指针转换为开关构件指针。我们关心的各种开关按钮 (开关按钮,复选按钮,和单选按钮构件) 的信号是 "toggled" 信号。为了检测这些按钮的状态,设置一个处理函数以捕获 "toggled" 信号,并且通过读取结构测定它的状态。该回调函数如下:
void toggle_button_callback (GtkWidget *widget, gpointer data) { if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget))) { /* 如果运行到这里,开关按钮是按下的 */ } else { /* 如果运行到这里,开关按钮是弹起的 */ } } |
void gtk_toggle_button_set_active( GtkToggleButton *toggle_button, gboolean is_active ); |
注意,当你使用 gtk_toggle_button_set_active() 函数,并且状态也实际改变了时,它会导致按钮发出 "clicked" 和 "toggled" 信号。
gboolean gtk_toggle_button_get_active (GtkToggleButton *toggle_button); |
<<< Previous | Home | Next >>> |
按钮构件 | Up | 复选按钮 Check Buttons |
相关文章推荐
- 按钮构件 /一般按钮 Normal Buttons@GTK+ 2.0 中文教程连载
- 复选按钮 Check Buttons@GTK+ 2.0 中文教程连载
- 单选按钮 Radio Buttons@GTK+ 2.0 中文教程连载
- 微调按钮 Spin Buttons@GTK+ 2.0 中文教程连载
- 容器构件 Container Widgets 事件盒 The EventBox@GTK+ 2.0 中文教程连载
- 对齐构件 The Alignment widget@GTK+ 2.0 中文教程连载
- 示例程序代码Tictactoe@GTK+ 2.0 中文教程连载
- 杂项构件/ 标签 Labels@GTK+ 2.0 中文教程连载
- 固定容器 Fixed Container@GTK+ 2.0 中文教程连载
- 使用套件示例@GTK+ 2.0 中文教程连载 现在我们已经介绍了难的办法,这里介绍怎样用 gtk_item_factory 调用来做。
- 示例程序代码GtkDial@GTK+ 2.0 中文教程连载
- 杂项构件/箭头 Arrows@GTK+ 2.0 中文教程连载
- 布局容器 Layout Container@GTK+ 2.0 中文教程连载
- 示例程序代码Scribble@GTK+ 2.0 中文教程连载
- 框架 Frames@GTK+ 2.0 中文教程连载
- 编写 GTK 应用程序的技巧 @GTK+ 2.0 中文教程连载
- 进度条 Progress Bars@GTK+ 2.0 中文教程连载(原文编译时73行有误:default:后应加 ;号做空语句)
- 比例框架 Aspect Frames@GTK+ 2.0 中文教程连载
- 超时、IO 和 Idle 函数/超时 Timeouts@GTK+ 2.0 中文教程连载
- 对话框 Dialogs@GTK+ 2.0 中文教程连载