没事儿找事儿————gtk学习(给窗体添加按钮)
来源:互联网 发布:淘宝删差评链接 编辑:程序博客网 时间:2024/06/06 09:23
上一篇完善了一下窗体,但是仅仅一个窗体没有什么用,我们需要大量的其他控件。那么我们慢慢来。先从最基本的按钮开始!在上篇的基础上稍微修改代码。
#include<gtk/gtk.h>void on_button_clicked(GtkWidget *button,gpointer userdata){ g_print("你好,你已经点击了我"); g_print("%s\n",(gchar *)userdata); gtk_button_set_label(GTK_BUTTON(button),(gchar *)userdata);}int main(int argc, char *argv[]){ GtkWidget *window; GtkWidget *button; gchar *str = "I love gtk!"; gtk_init (&argc, &argv); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (window), "Hello World 添加按钮"); gtk_window_set_default_size(GTK_WINDOW(window),400,300); gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER); gtk_container_set_border_width(GTK_CONTAINER(window),40); g_signal_connect(G_OBJECT(window),"delete_event",G_CALLBACK(gtk_main_quit),NULL); button = gtk_button_new_with_label("点击我"); g_signal_connect(G_OBJECT(button),"clicked",G_CALLBACK(on_button_clicked),(gpointer)str); gtk_container_add(GTK_CONTAINER(window),button); gtk_widget_show (button); gtk_widget_show (window); gtk_main (); return 0;}
gtk控件是统一用GtkWidget类型来管理的,按钮控件也不例外。我们可以用gtk_button_new来创建一个不显示任何东西的按钮。也可以用gtk_button_new_with_label来创建一个带有文字标签的按钮。
gtk函数的特色是以gtk开头,用下划线连接。第二个词表示控件的类型,后面的词表示要做的动作。比如new_with_label。set_default_size和set_position等等基本能见其名知其意。
gtk中的控件摆放采用容器这个概念。gtk所有的控件能分成两类,一类是能容纳其他控件的容器,一类是不能容纳其他控件的非容器控件。容器控件有分成能容纳多个控件的容器和只能容纳一个控件的容器。
窗口控件也是一种容器,它可以容纳按钮控件。gtk_container_add函数的作用是将第二个参数代表的控件加入到,第一个参数
所代表的容器中来。第一个参数是GtkContainer型的指针。所有需要GTK_CONTAINER这个宏来进行转换。
0 0
- 没事儿找事儿————gtk学习(给窗体添加按钮)
- 没事儿找事儿————gtk学习(gtk安装)
- 没事儿找事儿————gtk学习(Hello World)
- 没事儿找事儿————gtk学习(完善窗口的功能)
- 没事儿找事儿————gtk学习(盒状容器)
- 没事儿找事儿————gtk学习(用盒状容器排列控件)
- 【GTK】GTK+图形化应用程序开发学习笔记(三)—窗体
- Gtk给按钮添加快捷键
- 【GTk】GTK+图形化应用程序开发学习笔记(六)—按钮
- GTK+学习笔记3——按钮构件
- GTK+图形化应用程序开发学习笔记(三)—窗体(1)
- GTK+图形化应用程序开发学习笔记(三)—窗体(2)
- GTK+图形化应用程序开发学习笔记(三)—窗体
- GTK+图形化应用程序开发学习笔记(三)—窗体
- GTK+图形化应用程序开发学习笔记(三)—窗体
- GTK+图形化应用程序开发学习笔记(六)—按钮(1)
- GTK+图形化应用程序开发学习笔记(六)—按钮(2)
- GTK+图形化应用程序开发学习笔记(六)—按钮(3)
- 黑马程序员—面向对象的三大特性
- GCD 注册通知
- c修改系统时间和日期
- MYSQL基本操作(一)
- 让消费者当主导者,换个思维看运营
- 没事儿找事儿————gtk学习(给窗体添加按钮)
- 常用
- 黑马程序员—访问修饰符与ArrayList集合
- 基于OpenCV读取摄像头进行人脸检测和人脸识别
- Summary of this week, Dec.21,2013
- 使用动画实现组件抖动
- 编写你的第一个垃圾收集器
- ZOJ 3675 Trim the Nails(bfs+状态压缩搜索)
- STM32 SysTick定时器