鼠标事件,可以理解为操作鼠标的动作。对于窗口而言,用户操作鼠标,窗口检测到鼠标的操作( 产生一个信号 ),然后去做相应处理( 调用其规定的回调函数 ),即可认为是鼠标事件,还是信号与回调函数的知识点。
信号与回调函数的使用请点击此处。
窗口默认不接收鼠标的操作,需要手动添加让其接收。
设置控件捕获(接收)相应的事件:
void...
分类:
其他好文 时间:
2015-07-30 17:08:04
阅读次数:
179
定时器在应用编程里用得很广,我们手机里的闹钟,幻灯片播放图片等应用都用到定时器。定时器,每隔一段时间干一件事(程序里表现为调用一个函数),像闹钟,每隔一天响一次。
定时器的创建:
guint g_timeout_add(guint interval, GSourceFunc function, gpointer
data);
interval:设置的时间间隔,...
分类:
其他好文 时间:
2015-07-30 11:29:43
阅读次数:
349
GTK界面只要有图片的地方,其底层实际上是通过绘图实现的,所以,我们很有必要学习一下绘图,这里我们使用 Cairo 进行相应的绘图操作。
Cairo是用于绘制二维矢量图形的跨平台图形库,采用 C 语言实现,又被许多其它计算机语言所绑定。我们可以使用Cairo库在窗口中绘图,也可以用于生成PNG图片、PDF、PostScript、SVG文件。Cairo同时也是自由软件库,自GTK+2.8版...
分类:
其他好文 时间:
2015-01-27 18:28:25
阅读次数:
382
当窗口初始化,被移动或拉伸时,会触发属性改变事件。
属性改变事件产生的信号:configure_event
其回调函数的定义如下:
gboolean callback( GtkWidget *widget,
GdkEventConfigure *event,
gpointer data )...
分类:
其他好文 时间:
2015-01-27 16:31:41
阅读次数:
189
有些控件( 如:标签GtkLabel,图片控件GtkImage 等),不响应GDK事件,相当于鼠标在其上面点击,它是捕获不到的。用户通过事件盒子可以解决这个问题。
事件盒子给控件提供一个GDK窗口来捕获事件。我们把控件放在事件盒子里,当我们用鼠标点击这个控件时,这个事件盒子就能捕获到点击的状态。
事件盒子的创建:
GtkWidget *gtk_event_box_new(...
分类:
其他好文 时间:
2015-01-27 16:23:43
阅读次数:
171
鼠标事件,可以理解为操作鼠标的动作。对于窗口而言,用户操作鼠标,窗口检测到鼠标的操作( 产生一个信号 ),然后去做相应处理( 调用其规定的回调函数 ),即可认为是鼠标事件,还是信号与回调函数的知识点。
信号与回调函数的使用请点击此处。
窗口默认不接收鼠标的操作,需要手动添加让其接收。
设置控件捕获(接收)相应的事件:
void gtk_widget_add_ev...
分类:
其他好文 时间:
2015-01-27 14:58:58
阅读次数:
968
定时器在应用编程里用得很广,我们手机里的闹钟,幻灯片播放图片等应用都用到定时器。定时器,每隔一段时间干一件事(程序里表现为调用一个函数),像闹钟,每隔一天响一次。
定时器的创建:
guint g_timeout_add(guint interval,
GSourceFunc function,
gpointer...
分类:
其他好文 时间:
2015-01-27 13:26:54
阅读次数:
572
设置窗口背景图(可指定其大小):
#include
/* 功能: 设置背景图
* widget: 主窗口
* w, h: 图片的大小
* path: 图片路径
*/
void chang_background(GtkWidget *widget, int w, int h, const gchar *path)
{
gtk_widget_set_app_paintable(...
分类:
其他好文 时间:
2015-01-26 19:25:26
阅读次数:
437
按按钮截图,图片保存在当前路径为“save.png”:
#include
#include
/********************************************************
功能:指定窗口区域截图,需要包含头文件cairo.h
参数:
area: 需要截图的窗口指针
x, y, w, h: 截图的范围
path_name: 保存图片的路径名字,...
分类:
其他好文 时间:
2015-01-26 19:17:54
阅读次数:
328