`

GTK__按钮,buttons

 
阅读更多
按钮的类型:
  • 普通按钮
  • 开关按钮(是单选、复选的抽象原型)
  • 复选按钮
  • 单选按钮(涉及组的概念,单独出来)

按钮的创建:
//  普通按钮
GtkWidget *gtk_button_new();
GtkWidget *gtk_button_new_with_label(const gcahr *label);
GtkWidget *gtk_button_new_with_mnemonic(const gchar *label);

//  开关按钮 Toggle Buttons
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 );

//  复选框
GtkWidget *gtk_check_button_new( void );
GtkWidget *gtk_check_button_new_with_label ( const gchar *label );
GtkWidget *gtk_check_button_new_with_mnemonic ( const gchar *label );


按钮的属性:
//  注意,当你使用 gtk_toggle_button_set_active() 函数,
//  并且状态也实际改变了时,它会导致按钮发出 "clicked" 和 "toggled" 信号。
void     gtk_toggle_button_set_active ( GtkToggleButton *toggle_button, gboolean is_active );
gboolean gtk_toggle_button_get_active ( GtkToggleButton *toggle_button); 

GSList *gtk_radio_button_get_group( GtkRadioButton *radio_button );
void    gtk_toggle_button_set_active( GtkToggleButton *toggle_button, gboolean state );



按钮的事件:
void toggle_button_callback (GtkWidget *widget, gpointer data)
{
    if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget))) 
    {
        /* 如果运行到这里,开关按钮是按下的 */
    } else {
        /* 如果运行到这里,开关按钮是弹起的 */
    }
}


带图片、文件的按钮
/* 创建一个新的横向盒,它包含一个图像和一个标签,并返回这个盒。*/

GtkWidget *xpm_label_box( gchar     *xpm_filename,
                          gchar     *label_text )
{
    GtkWidget *box;
    GtkWidget *label;
    GtkWidget *image;

    /* 为图像和标签创建盒 */
    box = gtk_hbox_new (FALSE, 0);
    gtk_container_set_border_width (GTK_CONTAINER (box), 2);

    /* 创建一个图像 */
    image = gtk_image_new_from_file (xpm_filename);

    /* 为按钮创建一个标签 */
    label = gtk_label_new (label_text);

    /* 把图像和标签组装到盒子里 */
    gtk_box_pack_start (GTK_BOX (box), image, FALSE, FALSE, 3);
    gtk_box_pack_start (GTK_BOX (box), label, FALSE, FALSE, 3);

    gtk_widget_show (image);
    gtk_widget_show (label);

    return box;
}
分享到:
评论

相关推荐

    用GTK+写的HelloWorld.txt

    GTK_BUTTONS_OK, (gchar *)user_data); gtk_dialog_run(GTK_DIALOG(dialog)); // 显示对话框 gtk_widget_destroy(dialog); // 销毁对话框 } ``` - `on_button_clicked`: 定义了按钮点击事件的处理函数。 - `gtk...

    GTK2.zip_gtk2_gtk2-devel

    dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "Hello, World!"); gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(dialog); } int main(int argc, ...

    GTK+2.0图形界面编程示例

    gtk_window_set_title(GTK_WINDOW(win), "Big Buttons with Image"); gtk_window_set_position(GTK_WINDOW(win), GTK_WIN_POS_CENTER); gtk_widget_set_usize(win, 400, 200); g_signal_connect(win, "destroy", G_...

    gtk+2.0显示信息对话框

    GtkWidget *dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "这是第一条提示信息"); ``` 为了显示多条提示信息,并允许用户通过按钮控制前后切换,我们需要维护一个...

    gtk计算器布局练习

    3. **按钮(Buttons)**:每个数字键、运算符键以及清除键等都是一个按钮(GtkButton)。通过绑定事件处理函数,可以实现点击按钮时执行相应的计算操作。 4. **显示区域(Entry)**:计算器的显示屏通常是一个单行...

    Linux下GTK+实现简单计算器

    - **选项对话框**:使用`gtk_dialog_add_buttons()`函数添加按钮到对话框中,以便用户进行选择。 ##### 3.4 综合实现 将上述各个组件组合起来,形成一个完整的计算器程序。 - **界面设计**:设计一个包含数字键、...

    GTK+2.0 中文版(基于GNOME官方文档翻译)

    一般按钮 Normal Buttons 开关按钮 Toggle Buttons 复选按钮 Check Buttons 单选按钮 Radio Buttons 调整对象 Adjustments 创建一个调整对象 轻松使用调整对象 “调整对象”的内部机制 范围构件 ...

    GTK+2.0中文教程 html格式

    一般按钮 Normal Buttons 开关按钮 Toggle Buttons 复选按钮 Check Buttons 单选按钮 Radio Buttons 调整对象 Adjustments 创建一个调整对象 轻松使用调整对象 “调整对象”的内部机制 范围构件 Range ...

    gtk中文教程

    - **按钮构件**: 包括普通按钮(Normal Buttons)、开关按钮(Toggle Buttons)、复选按钮(Check Buttons)、单选按钮(Radio Buttons)等。 - **调整对象**: 用于控制值的变化范围。 - **范围构件(Range Widgets)**: 如...

    GTK+DFB实验手册v0.9.pdf

    - **BUTTONS实验**: 展示了各种按钮控件及其使用方法。 - **BUTTONBOX实验**: 讨论了如何使用ButtonBox容器来管理按钮布局。 - **ARROW实验**: 介绍了箭头控件的使用方法。 - **RADIOUSBUTTONS实验**: 介绍了如何...

    c代码-对话框(未完成)

    GtkWidget *dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "这是一个对话框"); gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(dialog); return 0; }...

    gtk api api api

    - **开关按钮(Toggle Buttons)**: 理解 Toggle Buttons 如何表示开/关状态。 - **复选按钮(Check Buttons)**: 探讨 Check Buttons 如何实现多选功能。 - **单选按钮(Radio Buttons)**: 学习 Radio Buttons 如何实现...

    linux gtk编程教程(带例子代码)

    - **buttons.c**:展示了`GtkButton`的基本用法,它是GUI中最常见的交互元素,用于触发一个动作。 - **filesel.c**:文件选择对话框,使用`GtkFileChooser`控件让用户浏览和选择本地文件或目录。 3. **GTK编程...

    gtkmm_buttons:使用Gtkmm创建UI元素

    除了基本的按钮,Gtkmm还支持多种类型的按钮,如复选框按钮(`Gtk::CheckButton`)、单选按钮(`Gtk::RadioButton`)和图像按钮(`Gtk::ImageButton`)。它们的用法大同小异,主要的区别在于显示和行为。 对于更...

    PHP和桌面应用程序IDE收集.doc

    $dialog = new GtkMessageDialog($wnd, Gtk::DIALOG_MODAL, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, $errors); $dialog->set_markup("发生以下错误:\r\n$errors</span>"); $dialog->run(); $dialog->destroy(); ...

    GTK+2.0.pdf linux图形编程

    - **微调按钮(Spin Buttons)**:用于数值输入的小型控件。 - **组合框(ComboBox)**:提供列表选项选择的控件。 - **日历(Calendar)**:用于选择日期的日历控件。 - **颜色选择(Color Selection)**:用于选择...

    Gtk+2.0教程(Linux下的界面)

    - **单选按钮 (Radio Buttons)**:一组单选按钮只能有一个被选中,常用于选择唯一选项。 ##### 调整对象 (Adjustments) 调整对象是用来控制滑动条、比例条等范围构件的位置和值的重要组件。 - **创建一个调整对象...

    This demonstrates how to add radio buttons to your menus

    "This demonstrates how to add radio buttons to your menus"这个主题聚焦于如何在菜单中集成单选按钮(Radio Buttons),这是一个常见的图形用户界面(GUI)控件,用于让用户在一组互斥选项中进行选择。...

Global site tag (gtag.js) - Google Analytics