学习 GTK+(一)
来源:互联网 发布:用户数据完整性保护 编辑:程序博客网 时间:2024/05/18 19:45
#include<gtk/gtk.h>int main(int argc, char **argv){GtkWidget *window;gtk_init(&argc,&argv);window=gtk_window_new(GTK_WINDOW_TOPLEVEL);gtk_widget_show(window);gtk_main();return 0;}
编译:gcc gtk1.c -o gtk `pkg-config --cflags --libs gtk+-3.0`
解析:gtk_init(&argc,&argv); 把命令行参数传给GTK+,这个函数需要在GTK+函数之前调用。
window=gtk_window_new(GTK_WINDOW_TOPLEVEL); 用来生成一个标准的有框架的窗口, 参数同样可以为GTK_WINDOW_POPUP 生成一个适用与对话框的无框架的对话框
最后要调用 gtk_widget_show(window); 显示窗口
2.事件、信号、回调函数
回调函数原型 void a_callback_function(GtkWidget *widget, gpointer data);
其中第一个参数是指向发出信号的构件的指针,第二个参数是当你选择链接回调函数时自己选择的一个任意指针。
链接回调函数原型 gulong g_signal_connect(gpointer *object, const gchar *name,GCallback func,gpointer user_data );
参数含义依次为,构件、信号名、回调函数指针和一个任意指针;
例如: g_signal_connect(button,"clicked",G_CALLBACK(button_clicked),"Button 1");
#include<stdio.h>static int count=0;void button_clicked(GtkWidget *button,gpointer data){ printf("%s pressed %d time(s)\n",(char *)data,++count);}int main(int argc, char **argv){ GtkWidget *window; GtkWidget *button; gtk_init(&argc,&argv); window=gtk_window_new(GTK_WINDOW_TOPLEVEL); button=gtk_button_new_with_label("hello,world!"); gtk_container_add(GTK_CONTAINER(window),button); g_signal_connect(button,"clicked",G_CALLBACK(button_clicked),"Button 1"); g_signal_connect(window,"destory",G_CALLBACK(gtk_main_quit),NULL); gtk_widget_show(button); gtk_widget_show(window); gtk_main(); return 0;}
- 学习 GTK+(一)
- GTK+2.0学习笔记(一)
- 学习GTK+笔记一
- 《GTK+/GNOME程序设计》 笔记(一) GTK+
- GTK+学习记录(一)按钮和标签关联函数
- GTK学习(转)
- GTK(一)
- GTK+重拾--09 GTK+中的组件(一)
- gtk学习
- gtk学习
- GTK+图形化应用程序开发学习笔记(一)—概述
- GTK+图形化应用程序开发学习笔记(一)—概述
- GTK+图形化应用程序开发学习笔记(一)—概述
- 【Linux】GTK+图形化应用程序开发学习笔记(一)—概述
- GTK+图形化应用程序开发学习笔记(一)—概述
- GTK+图形化应用程序开发学习笔记(一)—概述
- GTK+图形化应用程序开发学习笔记(一)—概述
- GTK+图形化应用程序开发学习笔记(一)—概述
- Linux /etc/rc.d/目录的详解
- 代理模式和装饰模式的理解
- 青龙老贼:好产品的秘密
- LeetCode5:Longest Palindromic Substring
- ZOJ 2345 Gold Coins
- 学习 GTK+(一)
- ATMS技术架构说明
- 初识Nand Flash
- 九度OJ 题目1135:字符串排序
- 亿能QTP关键字驱动自动化测试框架新加入实时监控功能!
- ALM11.5补丁支持远程运行QTP测试脚本
- 【远控编写07】客户端界面的设计和编写--为对话框添加菜单栏并添加事件响应
- 为什么自动化开发者比AUT开发者面临更多的挑战?
- Python新式类多重继承时的顺序