1 GtkLavel,GtkButton and GtkBox
1.1 GtkLabel
在前一节中,我们创建了一个窗口并将其显示在屏幕上。现在我们进入下一个主题,在这个窗口中添加部件。最简单的部件是GtkLabel。它是一个包含文本的部件。
1 #include <gtk/gtk.h>
2
3 static void
4 app_activate (GApplication *app) {
5 GtkWidget *win;
6 GtkWidget *lab;
7
8 win = gtk_application_window_new (GTK_APPLICATION (app));
9 gtk_window_set_title (GTK_WINDOW (win), "lb1");
10 gtk_window_set_default_size (GTK_WINDOW (win), 400, 300);
11
12 lab = gtk_label_new ("Hello.");
13 gtk_window_set_child (GTK_WINDOW (win), lab);
14
15 gtk_window_present (GTK_WINDOW (win));
16 }
17
18 int
19 main (int argc, char **argv) {
20 GtkApplication *app;
21 int stat;
22
23 app = gtk_application_new ("com.github.ToshioCP.lb1", G_APPLICATION_DEFAULT_FLAGS);
24 g_signal_connect (app, "activate", G_CALLBACK (app_activate), NULL);
25 stat =g_application_run (G_APPLICATION (app), argc, argv);
26 g_object_unref (app);
27 return stat;
28 }
29
将这个程序保存到文件lb1.c中。然后编译并运行它。
$ comp lb1
$ . / a.out
将出现一个消息为“Hello.”的窗口。
pr4.c和lb1.c之间只有很小的变化。程序差异有助于了解两个文件之间的差异。
$ cd misc; diff pr4.c lb1.c
4c4
< app_activate (GApplication *app, gpointer user_data) {
---
> app_activate (GApplication *app) {
5a6
> GtkWidget *lab;
8c9
< gtk_window_set_title (GTK_WINDOW (win), "pr4");
---
> gtk_window_set_title (GTK_WINDOW (win), "lb1");
9a11,14
>
> lab = gtk_label_new ("Hello.");
> gtk_window_set_child (GTK_WINDOW (win), lab);
>
18c23
< app = gtk_application_new ("com.github.ToshioCP.pr4", G_APPLICATION_DEFAULT_FLAGS

最低0.47元/天 解锁文章
788

被折叠的 条评论
为什么被折叠?



