1 / 18

19.1 窗口

19.1 窗口. 所谓窗口,指的是一个应用程序的界面框架。程序的所有内容和交互都在这个一个窗口中。在设置程序的界面时,需要先建立一个窗口。本节将讲述程序窗口的建立与设置。. 19.1.1 最简单的窗口程序. 本小节将建立一个最简单的图形界面程序,用这个图形界面程序来讲述窗口的建立过程。程序的代码如下所示。. 19.1.2 窗口的构建过程. 从上一小节的程序可知,在 C 程序中建立一个窗口,编写的程序也是一个普通的 C 程序。只是在程序中调用了 gtk 库,使用了图形界面相关的数据类型。要建立一个图形界面的程序,需要在一个 C 程序中完成下面这些操作。.

jarvis
Télécharger la présentation

19.1 窗口

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 19.1 窗口 • 所谓窗口,指的是一个应用程序的界面框架。程序的所有内容和交互都在这个一个窗口中。在设置程序的界面时,需要先建立一个窗口。本节将讲述程序窗口的建立与设置。

  2. 19.1.1 最简单的窗口程序 • 本小节将建立一个最简单的图形界面程序,用这个图形界面程序来讲述窗口的建立过程。程序的代码如下所示。

  3. 19.1.2 窗口的构建过程 • 从上一小节的程序可知,在C程序中建立一个窗口,编写的程序也是一个普通的C程序。只是在程序中调用了gtk库,使用了图形界面相关的数据类型。要建立一个图形界面的程序,需要在一个C程序中完成下面这些操作。

  4. 19.1.3 新建窗口函数gtk_window_new • gtk_window_new函数可以建立一个GTK窗口。这个函数的使用方法如下所示。 • GtkWidget* gtk_window_new (GtkWindowType type); • 在参数列表中,type是一个表示窗口状态的常量,可能有下面这两种取值。 • GTK_WINDOW_TOPLEVEL:表示这个窗口是正常的窗口。窗口可以最小化,最小化以后,在窗口管理器中可以看到这一个窗口的按钮。窗口管理器就是Windows系统的任务栏。 • GTK_WINDOW_POPUP:表示这个窗口是一个弹出式窗口,不可以最小化。但这个窗口是一个独立运行的程序,并不是一个对话框。

  5. 19.1.4 设置窗口的标题 • 函数可以设置一个窗口的标题,这个函数的使用方法如下所示。 • void gtk_window_set_title (GtkWindow *window, gchar *title); • 在参数列表中,window是表示一个窗口的指针。title是需要设置的标题。

  6. 19.1.5 设置窗口的大小与位置 • 窗口的大小指的是窗口的宽度和高度。可以用gtk_widget_set_usize函数来设置一个窗口的大小。窗口的位置指的是窗口的左上顶点到屏幕左边和顶边的边距。可以用widget_set_uposition函数来设置窗口的位置。这两个函数的使用方法如下所示。 • void gtk_widget_set_usize(GtkWidget *widget,gint width,gint height); • void gtk_widget_set_uposition (GtkWidget *widget,gint x,gint y);

  7. 19.2 标签 • 所谓标签,指的是程序中的一个文本。这个文本可以显示一定的信息,但是用户不能改变和输入标签的内容。程序中的提示信息或显示内容都是通过标签来实现的。

  8. 19.2.1 建立一个标签 • 在窗口中使用标签以前,需要创建一个标签。函数gtk_label_new可以新建一个标签,这个函数的使用方法如下所示。 • GtkWidget* gtk_label_new(gchar *str); • 参数列表中,str是标签中需要显示的内容。函数会建立一个标签,然后返回一个GtkWidget类型的指针。如果标签创建失败,会返回一个NULL指针。建立标签以后,需要用gtk_widget_show函数来显示这个标签。

  9. 19.2.2 将标签添加到窗口中 • 在gtk窗口中,除了window窗口以外,其他的任何元件都必须放置在一个容器中。上一小节所建立的标签,并不能直接显示,而需要放在一个窗口元件中。gtk_container_add函数的作用,是把一个元件放置在另一个元件窗口中。这个函数的使用方法如下所示。 • void gtk_container_add (GtkContainer *container, GtkWidget *widget);

  10. 19.2.3 设置与获取标签的文本 • 在程序中,可以用gtk_label_get_text函数来获取一个标签的文本,或者用gtk_label_set_text函数来设置一个标签的文本。这两个函数的使用方法如下所示。 • const gchar* gtk_label_get_text(GtkLabel *label); • void gtk_label_set_text(GtkLabel *label, gchar *str); • 在参数列表中,label是表示一个标签的指针。gtk_label_set_text函数参数中的str是需要设置标签的文本。gtk_label_get_text函数会取得标签的文本然后返回一个字符串。

  11. 19.2.4 实例:用标签显示当前时间 • 本小节将讲解一个标签应用实例,在一个窗口中用一个标签显示当前的时间。前面的章节中已经讲述过时间的处理方法,可以把当前的时间转换成一个字符串保存在字符串变量中。然后用gtk_label_set_text函数将字符串的内容设置成为标签的文本。

  12. 19.3 按钮 • 窗口程序中的很多操作都是通过窗口程序的单击来实现的。本小节将讲解在GTK界面中添加按钮元件,主要内容包括按钮的创建、设置等操作。

  13. 19.3.1 添加一个按钮 • 函数gtk_button_new_with_label可以新建一个带有标签的按钮。这个函数的使用方法如下所示。 • GtkWidget* gtk_button_new_with_label(gchar *label); • 函数的参数是一个字符串,这个字符串会显示在按钮上。函数会返回一个GtkWidget类型的指针。建立这个按钮以后,并不会直接显示,而需要调用gtk_widget_show函数来显示这个按钮。

  14. 19.3.2 取得与设置按钮的标签 • 按钮的标签指的是按钮上的文字。函数gtk_button_get_label可以取得一个按钮的标签,函数gtk_button_set_label可以设置一个按钮的标签。这两个函数的使用方法如下所示。 • const gchar* gtk_button_get_label (GtkButton *button); • void gtk_button_set_label (GtkButton *button, const gchar *label); • 在参数列表中,button是表示一个按钮的指针。函数gtk_button_get_label会取得这个按钮的标签作为一个字符串返回。函数gtk_button_set_label会把参数label的字符串设置成按钮的标签。

  15. 19.4 文本框 • 文本框指的是程序中的输入区域。用户可以在这个区域中用键盘输入内容。界面程序中的各种输入都是通文本框的来完成的。本节将讲解gtk窗口中文本框的使用。

  16. 19.4.1 建立文本框 • 在窗口中使用文本框以前需要建立文本框,gtk_entry_new函数可以完成建立文本框的操作。这个函数的使用方法如下所示。 • GtkWidget* gtk_entry_new (void); • 从函数的使用方法可知,这个函数没有参数,会返回一个GtkWidget类型的指针。如果文本框创建不成功,会返回一个NULL指针。

  17. 19.4.2 获取与设置文本框数据 • 文本框中输入数据以后,需要取得这些数据进行处理。新建文本框时可以设置文本框的初始内容。函数gtk_entry_get_text与函数entry_set_text可以分别完成这两个功能。这两个函数的使用方法如下所示。 • const gchar* gtk_entry_get_text (GtkEntry *entry); • void gtk_entry_set_text (GtkEntry *entry, const gchar *text); • 在参数列表中,entry是一个表示文本框的指针。函数gtk_entry_get_text会返回用户在文本框中输入的字符串。函数gtk_entry_set_text中,text是需要设置到文本框中的字符串,这个函数没有返回值。下面的实例,是在建立一个按钮以后设置这个文本框的初始内容。然后取得文本框的文本添加一个字符串以后设置到这个文本框中。

  18. 19.5 小结 • 本节讲述了GTK图形界面编程时基本原理、窗口、按钮、标签、文本框等图形元件的简单操作。通过这些知识的学习,可以对Linux界面编程有一个大致的了解,可以用这些元件编写出简单的Linux界面程序。窗口等元件的使用是本章的重点,需要理解元件建立和过程、元件简单设置等操作。

More Related