⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gtk_tut-15.html

📁 gtk 开发手册和参考文档。 包括gtk glib gdk等
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Draft//EN"><HTML><HEAD><meta http-equiv="pragma" content="no-cache"><TITLE>GTK导引: Timeouts, IO及Idle函数</TITLE></HEAD><BODY><A HREF="gtk_tut-14.html" tppabs="http://extend.hk.hi.cn/%7ehusuyu/http/beginner/gtk/gtk_tut-14.html"><IMG SRC="prev.gif" tppabs="http://extend.hk.hi.cn/%7ehusuyu/http/beginner/gtk/prev.gif" ALT="Previous"></A><A HREF="tppmsgs/msgs0.htm#17" tppabs="http://extend.hk.hi.cn/%7ehusuyu/http/beginner/gtk/gtk_tut-16.html"><IMG SRC="next.gif" tppabs="http://extend.hk.hi.cn/%7ehusuyu/http/beginner/gtk/next.gif" ALT="Next"></A><A HREF="gtk_tut.html#toc15" tppabs="http://extend.hk.hi.cn/%7ehusuyu/http/beginner/gtk/gtk_tut.html#toc15"><IMG SRC="toc.gif" tppabs="http://extend.hk.hi.cn/%7ehusuyu/http/beginner/gtk/toc.gif" ALT="Contents"></A><HR><H2><A NAME="sec_timeouts"></A> <A NAME="s15">15. Timeouts, IO及Idle函数</A></H2><P><H2><A NAME="ss15.1">15.1 Timeouts</A></H2><P>您可能会想要在gtk_man idle时, 做一些事情. 你有好几个选择.使用以下这些函数可以产生一个timeout函数,它每间隔一阵子就会去呼叫您的函数.<P><BLOCKQUOTE><CODE><PRE>gint gtk_timeout_add (guint32 interval,                      GtkFunction function,                      gpointer data);</PRE></CODE></BLOCKQUOTE><P>第一个参数是每间隔interval milliseconds会去呼叫您的函数.第二个是该函数.第三个是要传给该函数的资料.返回值则为该行程的"标签".<P><BLOCKQUOTE><CODE><PRE>void gtk_timeout_remove (gint tag);</PRE></CODE></BLOCKQUOTE><P>您可以在您的timeout函数返回zero或FALSE来停止timeout函数.这就是说您必须返回非零值, 如TRUE.<P>你的callback函数必须像这样:<P><BLOCKQUOTE><CODE><PRE>gint timeout_callback (gpointer data);</PRE></CODE></BLOCKQUOTE><P><H2><A NAME="ss15.2">15.2 监督IO</A></H2><P>GTK另一个漂亮的功能是有办法去检查一个file descriptor的资料.(as returned by open(2) or socket(2)).  这个在网路软体上很有用:<P><BLOCKQUOTE><CODE><PRE>gint gdk_input_add (gint source,                    GdkInputCondition condition,                    GdkInputFunction  function,                    gpointer data);</PRE></CODE></BLOCKQUOTE><P>第一个参数是您想看的file descriptor,第二个是你要GDK去看那一项,可以是以下几项:<P>GDK_INPUT_READ - 当file descriptor有资料的时候会去呼叫您的函数.<P>GDK_INPUT_WRITE - 当您的file descriptor可以被写入资料的时候.<P>第三个当然是callback函数.第四个是要传给callback的资料.<P>返回值是可用来停止监督的一个"标签".<P><BLOCKQUOTE><CODE><PRE>void gdk_input_remove (gint tag);</PRE></CODE></BLOCKQUOTE><P>当您的callback函数返回zero或FALSE时,GTK会停止呼叫您的callback函数.<P><P><H2><A NAME="ss15.3">15.3 Idle函数</A></H2><P>当什麽事情都不发生时, 您要呼叫一个函数时要怎麽办?<P><BLOCKQUOTE><CODE><PRE>gint gtk_idle_add (GtkFunction function,                   gpointer data);</PRE></CODE></BLOCKQUOTE><P>当什麽事都不发生时, GTK会去呼叫这个函数.<P><BLOCKQUOTE><CODE><PRE>void gtk_idle_remove (gint tag);</PRE></CODE></BLOCKQUOTE><P>这个不用解释了吧.您若在idle函数返回zero或FALSE会停止idle函数的运行.<P><HR><A HREF="gtk_tut-14.html" tppabs="http://extend.hk.hi.cn/%7ehusuyu/http/beginner/gtk/gtk_tut-14.html"><IMG SRC="prev.gif" tppabs="http://extend.hk.hi.cn/%7ehusuyu/http/beginner/gtk/prev.gif" ALT="Previous"></A><A HREF="tppmsgs/msgs0.htm#17" tppabs="http://extend.hk.hi.cn/%7ehusuyu/http/beginner/gtk/gtk_tut-16.html"><IMG SRC="next.gif" tppabs="http://extend.hk.hi.cn/%7ehusuyu/http/beginner/gtk/next.gif" ALT="Next"></A><A HREF="gtk_tut.html#toc15" tppabs="http://extend.hk.hi.cn/%7ehusuyu/http/beginner/gtk/gtk_tut.html#toc15"><IMG SRC="toc.gif" tppabs="http://extend.hk.hi.cn/%7ehusuyu/http/beginner/gtk/toc.gif" ALT="Contents"></A></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -