GTK+ 编程练习全解析
1. 按键事件处理与窗口销毁
在按键事件回调函数中,可使用g_ascii_strcasecmp()来判断标签当前显示的是名字还是姓氏,然后相应地切换窗口和标签文本,最后返回FALSE使应用程序继续处理按键事件。创建应用程序的最后一步是将顶级窗口连接到destroy信号,在其回调函数中调用gtk_main_quit()可退出应用程序,无需使用delete-event信号。
2. GObject 属性系统练习(Exercise 2 - 2)
此练习与 Exercise 2 - 1 类似,但需使用 GObject 库的函数来更改属性。例如,在main()函数中,使用g_object_set()设置GtkWindow小部件的标题、宽度、高度和可调整大小属性。在按键事件回调函数中,用g_object_get()和g_object_set()与GtkWindow的标题属性和GtkLabel的标签属性交互。当窗口标题属性更改时,将窗口连接到notify::title信号进行监控,使用g_message()将新标题输出到标准输出。