GTK+按钮
【摘要】 Demo
#include <gtk/gtk.h>
static void quick_message(GtkWindow *parent,gchar *message){ g_print ("Hello GTK+\n");
}
static void activateApp(GtkApplication *app,gpointer user_data)...
Demo
#include <gtk/gtk.h>
static void quick_message(GtkWindow *parent,gchar *message){ g_print ("Hello GTK+\n");
}
static void activateApp(GtkApplication *app,gpointer user_data){ GtkWidget *window; // 按钮 GtkWidget *button; // 申明一个容器,用于容纳按钮,控制大小 GtkWidget *button_box; window = gtk_application_window_new(app); gtk_window_set_title(GTK_WINDOW(window),"Hello Qt"); gtk_window_set_default_size(GTK_WINDOW(window),200,300); // 创建一个容纳器 button_box = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL); // 将容纳器放入window中 gtk_container_add(GTK_CONTAINER(window),button_box); // 创建一个按钮 button = gtk_button_new_with_label("Open"); // 连接点击信号 g_signal_connect(button,"clicked",G_CALLBACK(quick_message),NULL); // 将按钮放入容纳器中 gtk_container_add(GTK_CONTAINER(button_box),button); gtk_widget_show_all(window);
}
int main(int argc,char **argv){ GtkApplication *app; int status; app = gtk_application_new("wong.com",G_APPLICATION_FLAGS_NONE); g_signal_connect(app,"activate",G_CALLBACK(activateApp),NULL); status = g_application_run(G_APPLICATION(app),argc,argv); g_object_unref(app); return status;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
代码解释
- 创建按钮容纳器gtk_button_box_new()
- 将容纳器放入window中
- 创建一个按钮gtk_button_new_with_label();
- 注册点击事件(通过信号来通信)g_signal_connect(button,“clicked”,G_CALLBACK(quick_message),NULL);
- 将按钮放入容纳器中 gtk_container_add(GTK_CONTAINER(button_box),button);
如果我们要增加一个带有自定义图片的按钮可以通过下列方式来实现:
GtkWidget *button; GtkWidget *button_box; GtkWidget *image; button = gtk_button_new(); // 图片文件的路径 image = gtk_image_new_from_file("./internet.png"); gtk_container_add(GTK_CONTAINER(button),image); button_box = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL); gtk_container_add(GTK_CONTAINER(button_box),button);
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
谢谢阅读
文章来源: blog.csdn.net,作者:WongKyunban,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/weixin_40763897/article/details/102746612
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)