staticvoidmain_do_event(GdkEvent *event, wxArrayPtrVoid *queue){switch(event->type) {caseGDK_NOTHING:// Ignore itbreak;caseGDK_SELECTION_REQUEST:caseGDK_SELECTION_NOTIFY:caseGDK_SELECTION_CLEAR:#ifGTK_CHECK_VERSION(2,6,0)caseGDK_OWNER_CHANGE:#endif// process it nowgtk_main_do_event(event...
# 需要导入模块: from gi.repository import Gtk [as 别名]# 或者: from gi.repository.Gtk importmain_do_event[as 别名]def__event(self, event):ifnotself.__view:returnTrue# hack: present the main window on key pressifevent.type == Gdk.EventType.BUTTON_PRESS:# hack: present is overridden ...
从gtk_main_do_event函数中,通过调用内部函数(如:gtk_widget_event_internal)将GDK事件关联到Gtk自身定义的信号上,并将信号发出,绑定这一信号的控件便可以接收到,这样根据信号的定义执行相应的回调函数。 二、以对GtkButton控件的点击事件(press-release-click)为例,进行分析: 当鼠标点击在GtkButton上时,系统做出了...
1.初始化时,GDK向mainloop注册一个事件源(gdkevents-x11.c:gdk_events_init),让mainloop挂到X Window的socket上。 2.GTK调用GDK的gdk_event_handler_set函数设置事件处理函数(gtkmain.c: do_pre_parse_initialization)gtk_main_do_event。 3.当有X Window事件过来时,mainloop调用事件源的事件分发函数gdk_event_...
从gtk_main_do_event函数中,通过调用内部函数(如:gtk_widget_event_internal)将GDK事件关联到Gtk自身定义的信号上,并将信号发出,绑定这一信号的控件便可以接收到,这样根据信号的定义执行相应的回调函数。 二、以对GtkButton控件的点击事件(press-release-click)为例,进行分析: ...
gtk_main_do_event (event); if (dispatchEvents == null) putGdkEvents (); return 0; origin: org.eclipse.platform/org.eclipse.swt.gtk.linux.ppc Display.eventProc(...) dispatch = tracker.processEvent (event); if (dispatch) OS.gtk_main_do_event (event); if (dispatchEvents == null)...
2.GTK调用GDK的gdk_event_handler_set函数设置事件处理函数(gtkmain.c: do_pre_parse_initialization)gtk_main_do_event。 3.当有X Window事件过来时,mainloop调用事件源的事件分发函数gdk_event_dispatch。 4.gdk_event_dispatch中调用gdk_event_translate把Xevent转换成GdkEvent,并放到Gdk的消息队列中。
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; } 所有程式理所当然一定会包含gtk/gtk.h, 其中宣告了所有变数, 函数, 及资料及结构. 这些东西您会在您...
() from d:\opt\gtk\bin\libgobject-2.0-0.dll #54 0x0165b557 in gtk_widget_event_internal () from d:\opt\gtk\bin\libgtk-win32-2.0-0.dll #55 0x0153a22f in gtk_main_do_event () from d:\opt\gtk\bin\libgtk-win32-2.0-0.dll #56 0x6c3641dd in _gdk_window_process_updates_...
g_signal_connect(G_OBJECT(window), "delete_event", G_CALLBACK(gtk_main_quit), NULL); vbox = gtk_vbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(window), vbox); label = gtk_label_new("直接引用GIF动画"); gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 5); ...