#include <gtk/gtk.h>
GtkWidget *button=NULL;
GtkWidget *entry=NULL;
static gboolean entry_event_activate (GtkWidget *widget,GdkEvent *event,gpointer user_data)
{
g_print("Get activate signal!\n");
return 1;
}
static gboolean button_event_pressed (GtkWidget *widget,GdkEvent *event,gpointer user_data)
{
g_print("Get pressed signal!\n");
return 1;
}
static gboolean button_event_released (GtkWidget *widget,GdkEvent *event,gpointer user_data)
{
g_print("Get released signal!\n");
return 1;
}
static gboolean
time_handler (GtkWidget * widget)//定一秒钟刷新GTK
{
//g_print("The window's widget is activated :%s\n",gtk_window_activate_focus(GTK_WINDOW(widget))?"TRUE":"FALSE");//如果该window有被激活过的构件,如按钮,那么该函数将自动再次激活该构件
//g_print("The window's widget is activated :%s\n",gtk_window_activate_default(GTK_WINDOW(widget))?"TRUE":"FALSE");//如果该window有被激活过的构件,如按钮,那么该函数将自动再次激活该构件
g_print("The window is activated :%s\n",gtk_window_is_active(GTK_WINDOW(widget))?"TRUE":"FALSE");//判断此window是否被激活
g_print("The window is toplevel :%s\n",gtk_window_has_toplevel_focus(GTK_WINDOW(widget))?"TRUE":"FALSE");//如果是真的TOPLEVEL,结果与gtk_window_is_active一样
//GtkWidget *get_widget=gtk_window_get_focus(GTK_WINDOW(widget));//获取window窗口的焦点构件
//gtk_window_set_focus(GTK_WINDOW(window),focuswidget);设置焦点构件
GtkWidget *get_widget=gtk_window_get_default_widget(GTK_WINDOW(widget));//获取该窗口内已经设定好的默认组件
if(get_widget!=NULL)
gtk_widget_set_size_request(get_widget,20,20);//设置获得焦点构件的尺寸以示区别
//gtk_window_present(GTK_WINDOW(widget));//将窗口激活显示出来
//gtk_window_reshow_with_initial_size(GTK_WINDOW(widget));//隐藏窗口,然后按重新设置的属性重新显示窗口
gtk_button_pressed(GTK_BUTTON(button));//只是发出"pressed"信号,不按按钮
gtk_button_released(GTK_BUTTON(button));//只是发出"released"信号,不按按钮
//gtk_button_clicked(GTK_BUTTON(button));//只是发出"clicked"信号,不按按钮
//gtk_button_enter(GTK_BUTTON(button));//只是发出"enter"信号,不按按钮
//gtk_button_leave(GTK_BUTTON(button));//只是发出"leave"信号,不按按钮
return FALSE;//timer的调用函数如果返回TRUE表继续计时,如果返回FALSE表停止计时
}
int
main(int argc , char *argv[])
{
gtk_init(&argc,&argv);
///////////////////////////////////////////////////////////////窗口Window部分///////////////////////////////////////////////////
//创建window
GtkWidget *window=NULL;
window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
//设置Window属性
gtk_window_set_title(GTK_WINDOW(window),"GTK+_widget");//标题
//gtk_window_set_policy(GTK_WINDOW(window),FALSE,FALSE,TRUE);//第三个参数设置窗口大小是否随窗口内构件变化
//gtk_window_set_resizable(GTK_WINDOW(window),0);设置窗口的大小是否可调,默认可调
gtk_window_set_default_size(GTK_WINDOW(window),400,500);//设置尺寸
//gtk_window_resize(GTK_WINDOW(window),400,500);//改变当前尺寸
gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER);//设置窗口位置
//gtk_window_move(GTK_WINDOW(window),10,100);//移动窗口位置到该坐标
gtk_window_iconify(GTK_WINDOW(window));//运行时最小化显示
gtk_window_deiconify(GTK_WINDOW(window));//运行时不最小化显示
//gtk_window_stick(GTK_WINDOW(window));运行时显示在所有计算机用户的桌面上
//gtk_window_unstick(GTK_WINDOW(window));运行时只显示在当前计算机用户的桌面上
//gtk_window_maximize(GTK_WINDOW(window));//运行时最大化显示
//gtk_window_unmaximize(GTK_WINDOW(window));//运行时不最大化显示
//gtk_window_fullscreen(GTK_WINDOW(window));//运行时全屏显示
//gtk_window_unfullscreen(GTK_WINDOW(window));//运行时不全屏显示
//gtk_window_set_keep_above(GTK_WINDOW(window),1);//运行时总保持在最上层
//gtk_window_set_keep_below(GTK_WINDOW(window),1);//运行时总保持在最底层
//gtk_window_set_decorated(GTK_WINDOW(window),0);//运行时去掉窗口管理器
//gtk_window_set_deletable(GTK_WINDOW(window),0);//运行后窗口管理器上不显示关闭按钮
//gtk_window_set_has_frame(GTK_WINDOW(window),1);//设置边框
//gtk_window_set_frame_dimensions(GTK_WINDOW(window),5,5,5,5);设置边框上下左右宽度
//gtk_window_set_skip_taskbar_hint(GTK_WINDOW(window),1);//运行时最小化后隐藏该窗口到任务栏
gtk_window_set_opacity(GTK_WINDOW(window),0.5);//设置透明度,范围在0~1之间
gtk_window_set_icon_from_file(GTK_WINDOW(window),"icon.ico",NULL);//设置图标的图片文件
//gtk_window_set_default_icon_from_file("icon.png",NULL);设置默认的图标文件
GdkPixbuf *icon_pixbuf=NULL;
icon_pixbuf=gdk_pixbuf_new_from_file("icon.png", NULL);
//if(gtk_window_set_icon(GTK_WINDOW(window),icon_pixbuf));//设置图标数据
//gtk_window_set_default_icon(icon_pixbuf);设置默认图标数据
gtk_window_set_icon_name(GTK_WINDOW(window),"icon");//设置图标的名称
//gtk_window_set_default_icon_name("Gtk_widget_icon");设置默认图标名称
//gtk_widget_set_size_request(window, 400, 500);//改变当前尺寸,默认尺寸为200*200
//获取Window属性
g_print("The window's title :%s\n",gtk_window_get_title(GTK_WINDOW(window)));
gint window_width,window_height;
gtk_window_get_size(GTK_WINDOW(window),&window_width,&window_height);//获取尺寸
g_print("The window's size:%d*%d\n",window_width,window_height);
//gtk_window_get_default_size(GTK_WINDOW(window),&window_width,&window_height);//也是获取尺寸
g_print("The window can be resized ?:%s\n",gtk_window_get_resizable(GTK_WINDOW(window))?"TRUE":"FALSE");//判断窗口大小是否可调
g_print("The window has decorations ?:%s\n",gtk_window_get_decorated(GTK_WINDOW(window))?"TRUE":"FALSE");//判断窗口是否含有窗口管理器
g_print("The window has a close button ?:%s\n",gtk_window_get_deletable(GTK_WINDOW(window))?"TRUE":"FALSE");//判断窗口管理器是否含有关闭按钮
g_print("The window has frame ?:%s\n",gtk_window_get_has_frame(GTK_WINDOW(window))?"TRUE":"FALSE");//判断该窗口是否含有边框
gint window_x,window_y;
gtk_window_get_position(GTK_WINDOW(window),&window_x,&window_y);
g_print("The window's position :%d,%d\n",window_x,window_y);
gint frame_top,frame_bottom,frame_left,frame_right;
gtk_window_get_frame_dimensions(GTK_WINDOW(window),&frame_left,&frame_top,&frame_right,&frame_bottom);//获取边框的尺寸
g_print("The window's framesize is :%d(LEFT) %d(TOP) %d(RIGHT) %d(BOTTOM)\n",frame_left,frame_top,frame_right,frame_bottom);
g_print("The window's opacity is :%f\n",gtk_window_get_opacity(GTK_WINDOW(window)));//获取透明度
//gchar *iconname=gtk_window_get_default_icon_name(GTK_WINDOW(window));//设置图标有问题,源代码中找不到此函数
//gchar *iconname=gtk_window_get_icon_name(GTK_WINDOW(window));获取图标名称
//g_print("The window's iconname is :%s\n",iconname);
g_print("The window has been set skip_taskbar_hint :%s\n",gtk_window_get_skip_taskbar_hint(GTK_WINDOW(window))?"TRUE":"FALSE");//判断窗口最小化后是否隐藏到任务栏中
///////////////////////////////////////////////////////////////结束///////////////////////////////////////////////////
//////////////////////////////////////////////////////////////固定容器Fixed部分/////////////////////////////////////////////////
GtkWidget *fixed;
fixed=gtk_fixed_new();
gtk_container_add(GTK_CONTAINER(window),fixed);
gtk_widget_show(fixed);
///////////////////////////////////////////////////////////////////结束///////////////////////////////////////////////////
///////////////////////////////////////////////////////////////按钮button部分////////////////////////////////////////////////////////
//创建按钮button
//button=gtk_button_new_with_label("button");
//button=gtk_button_new_with_mnemonic("_button");//创建带有热键的按钮,加入下划线,按ALT+b
button=gtk_button_new_from_stock(GTK_STOCK_APPLY);//创建带有图片和文本的按钮,并带有热键
//gtk_container_add(GTK_CONTAINER(window),button);//直接添加入window则会充满window
gtk_fixed_put(GTK_FIXED(fixed),button,10,10);//加入固定构件可以设置button的位置
//设置按钮button属性
//gtk_button_set_label(GTK_BUTTON(button),"NEW_LABEL");//如果设置button的标签文本,将改变原有的标签内容
//gtk_button_set_relief(GTK_BUTTON(button),GTK_RELIEF_NONE);//设置button的边框样式
gtk_bu
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
gtK Cairo LibCurl LibXML 解析实例gtK Cairo LibCurl LibXML 解析实例gtK Cairo LibCurl LibXML 解析实例gtK Cairo LibCurl LibXML 解析实例gtK Cairo LibCurl LibXML 解析实例gtK Cairo LibCurl LibXML 解析实例
资源推荐
资源详情
资源评论
收起资源包目录
第一阶段总结.zip (38个子文件)
第一阶段总结
其他(总结)
Libxml备份
libxml.c 2KB
libxml.xml 191B
libxml 9KB
Cairo备份
cairo 14KB
cairo.c 5KB
1.png 10KB
Libcurl备份
libcurl 10KB
libcurl.c 2KB
libcurl(完整版).c 1KB
CLUTTER(总结)
Clutter_group备份
clutter_group.c 2KB
clutter_group 14KB
1.jpg 50KB
ClutterContainer备份
clutter_container.c 3KB
clutter_container 10KB
ClutterActor备份
ClutterActor.c~ 5KB
ClutterActor.c 5KB
ClutterActor 15KB
Clutter_media备份
clutter_media 14KB
KISS.wmv 8.38MB
No Body.wma 2.09MB
clutter_media.c 2KB
nobody.mp3 8.36MB
Clutter_baseactor(包括stage)备份
clutter_actor 25KB
redhand.png 8KB
clutter_actor.c 16KB
GTK+(总结)
Gtk_fixed备份
Gtk_fixed 10KB
Gtk_fixed.c 924B
GTKCONTAINER备份
GTKCONTAINER.c.bak 2KB
GTKCONTAINER 9KB
GTKCONTAINER.c 2KB
GTKWIDGET备份
GTKWIDGET.c 7KB
GTKWIDGET 15KB
1.png 3KB
Gtk+_widget备份
icon.ico 1KB
GTK+_widget.c 24KB
GTK+_widget.c.bak 24KB
icon.png 6KB
GTK+_widget 29KB
共 38 条
- 1
资源评论
- hulongxian2012-09-08比较基础。看看手册都有。。
hoyelo
- 粉丝: 0
- 资源: 37
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功