控件的更多细节 接下来是一些常用的控件列表,及它们所用的一些gtk函数。没有列出函数 参数,也没有列出每个控件的所有函数。如果需要这些信息请到这个教程的 库部分。 注意下面并不是控件的详细列表。 在Glade没有包含的库里有很多可用的控件。还有一些Gtk+控件比较容易理解 (如垂直和水平分隔线)也没有列在这里。 Gtk+基本控件 Image 名称 目标 函数及参考 gtk window icon 窗口 基本Gtk窗口 编程者不需要注意什么特别的函数,不过如果这是主窗口,你需要把gtk_exit()与delete_event信号关联(比如当点击右上角的X时)。 Gtk Dialog Window 对话框窗口 创建一个基本的对话盒/窗口 它没有什么特别的函数。你需要向按钮条加入按钮和其它你想要的东西。 Gtk File Selection 文件选择对话框 创建一个标准化的文件选择对话框窗口 内部工作由控件来处理。你需要连接按钮的信号(如clicked信号),及获得选择结果。 Gtk Color Selection Dialog 颜色选择对话框 选择颜色的对话框窗口 创建一个标准化的颜色选择对话框盒/窗口。你需要使按钮工作,并用 gtk_color_selection_get_color()获得颜色选择结果。 Gtk Font Selection Dialog 字体选择对话框 选择字体的对话框窗口 这是一个标准化的字体选择对话框盒/窗口。通常你需要设置按钮并获取选择结果。使用 gtk_get_font_selection_dialog_get_font() 做这件事。还有其它的函数来获取字体的名字及其它。查看列在本教程帮助部分的GTK+参考手册。 gtk menubar 菜单条 创建一个菜单条 你需要为所有下拉菜单的activate信号创建句柄。在Glade中有菜单编辑器来帮你做这个。参考本教程菜单编辑器部分。 gtk toolbar 工具条 创建一个工具条 你需要为按钮设置句柄。(通常是clicked 信号)。你还得在属性窗口里为一个按钮提供图标(或使用标准图标)及命名。 gtk label 标签 创建一个标签控件 它通常没有信号。这允许你在程序中放入一个标签。 gtk entry widget 文本框 允许输入单行文本 使用gtk_entry_set_text()、gtk_editable_get_chars()、gtk_entry_set_editable() 有其它函数来操作这个单行文本。通常使用activate和changed信号。使用changed信号,设置一个标志,其后获得框内数据 (比如当按下OK键时)。 gtk Combo Box 下拉框 创建一个下拉框 使用这个控件或Gnome文本框创建一个下拉的框列表。 Gnome文本框自己管理这个列表,而ComboBox需要你自己来处理。它可以使用文本框的函数,独有的函数有: gtk_combo_set_value_in_list()等。 gtk text box 文本视图 多行文本编辑器 这个控件与Gtk+ 1.*相比有很大的变化。先创建一个GtkTextBuffer,在这里编辑文本,并在GtkTextView显示它。在一个很简单的程序中,可以用 gtk_text_view_get_buffer() 得到缓冲区,并用gtk_text_view_set_buffer()设置它。缓冲区自己发出信号,比如changed,insert_text等。视 图本身了发出copy_clipboard, move_focus等信号。 Gtk Button 按钮 一个基本的按钮 所有按钮最常用的信号是clicked信号,也可以用enter, leave, pressed, released等。没有用来获得数据的特别函数,不过你可能经常会想让按钮最后销毁它的父窗口,用 gtk_widget_destroy()函数。 Gtk Toggle Button 切换按钮 一个基本的切换按钮 这个按钮用来代表有两种状态(开/关,0/1等)的变量和实体。它有一个特别的信号toggled,其它与普通按钮信号一样。 Gtk Check Button 多选按钮 一个多选按钮(用标签切换) 这是一个切换按钮,它也有两个状态(开/关等)。这种按钮也有标签,使它是一个有标签的切换按钮。你可以使用 toggled 信号。 Gtk Radio Button 单选按钮 一个单选切换按钮 它是一种特殊的多选按钮。单行按钮组成一组,当点击一个时其它都变成"关"或未被选择。这允许编程者从许多项目中选择一项。它的信号当然是toggled。在属性窗口中,可以设置单选按钮的组和标签。 Gtk Option Menu 选项菜单 创建一个菜单,用户可以选择一项。 常用的信号是clicked, enter, leave, pressed等。函数有gtk_option_menu_get_menu(), gtk_option_menu_set_menu()等。本教程后面有一个例子,说明如何把句柄联接到这个控件。 Gtk Spin Button 滚动按钮 增加数字的按钮 这是个有用的方法,可以从用户获取数字。数字在一个范围内,而且一直是数字型(如果你在属性窗口设数字型为TRUE)。也可以设范围、增幅和开始的数字。 使用changed 和 activate 信号可以从滚动按钮获得数据。 例如gtk_spin_button_get_value_as_float()或gtk_spin_button_get_value_as_int ()。(记住用changed 信号设置一个标志,以后接收数据(如当按下OK键时))。 Gtk Status Bar 状态栏 显示状态信息的地方 它通常放在程序的底部,显示程序在做什么。比如,用户按下一个按钮来保存一个文件时,你可以在这儿显示"文件已保存"。使用 gtk_statusbar_push(), gtk_statusbar_pop()及其它函数。 Gtk List or Tree View 列表或树视图 显示树和列表的控件 这是Gtk+ 2.0中新控件, 代替ctree,clist,list和tree控件。理论上它有点复杂,不过使用起来很简单。更多信息请看AP,不过基本上你可以创建一个列表或树模 型,并用列表或树方式来浏览。 Gtk Image Gtk图像控件 显示一幅图像 这是一个没有窗口的控件,它不接收事件,只是简单地用来显示 图像/动画/其它。 Gtk Drawing Area 画图区 创建custom控件的地方 使用这个控件来创建custom控件,可以画东西(比如图像)等 Gtk容器 gtk handle box 带柄盒子(译注:就是浮动工具条) 创建一个盒状容器,可以通过柄来移动。 它没有信号,内部自带柄。这个容器是'rip away'盒子之一, 你可以创建菜单并能把它移动到屏幕上想到的位置。 Horizontal Box Widget 横向盒子 放置控件的一系列盒子 这是一个容器,如果愿意也可以连接信号,不过不需要的。不, 我并知道当它垂直排列是为什么叫水平盒子,除非numerically it runs horizontally (比如一串数字,one for each box). Gtk Vertical Box 垂直盒子 这是一个容器,如果愿意也可以连接信号,不过不需要的。 Gtk Table Box 表状盒子 在一个表格式中创建一系列盒子 这是一个容器,如果愿意也可以连接信号,不过不需要的。 Gtk Fixed Gtk Fixed 允许你在容器里固定控件的位置。 这个控件不应该在实际中使用。它对那些从VB背景转来的人比较适合, 但会妨碍你学习在Gtk+里如何正确地使用容器。尽量避免使用。 Gtk Horizontal ButtonBox 水平按钮盒 一个水平地放置按钮的盒子 这个盒子用来包含按钮。 Gtk Vertical ButtonBox 垂直按钮盒 一个垂直地放置按钮的盒子 这个盒子用来包含按钮。 Gtk Horizontal Pane 水平面板 创建一个面板,用户可以放大或缩小在一个窗口里的部件。 这是一个容器,如果愿意也可以连接信号,不过不需要的。 可改变大小的部件是其内置的。 Gtk Vertical Pane 垂直面板 创建一个面板,用户可以放大或缩小在一个窗口里的部件。 这是一个容器,如果愿意也可以连接信号,不过不需要的。 可改变大小的部件是其内置的。 Gtk Notebook Widget 标签页 创建一系列"文件夹"盒子,如果用户点击标题,可以改变页内容。 这是一系列的容器,如果愿意也可以连接信号,不过不需要的。 你想要做的一件事是命名标题,或希望用这个控件来创建一个容易"改变"的布局, 注意不要显示标题。 Gtk Frame 框架 创建一个框架,可以命名 这是一个容器,如果愿意也可以连接信号,不过不需要的。 如果你想,记住命名框架。 Gtk Scrolled Window 滚动窗口 一个滚动窗口控件 这是一个容器,如果愿意也可以连接信号,the scrolling should be taken care of automatically. Gtk Viewport Gtk视角 创建一个视角 作者对这个控件不是很熟,看API。 控件更多的细节: Gtk+附加 注意下面没有列出全部控件,在Glade未包含的库里也有可用的控件。没有列出每个控件的所有函数。如果需要这些信息请到这个教程的 库部分。 Gtk+附加 Image 名称 目标 函数及参考 Gtk Horizontal Scale 水平刻度 创造一个水平滑块 使用它可以允许通过滑动刻度条来选择一定范围的数字。很象滚动按钮(spin button),你可以设最小值、最大值、最初数值,单步增幅及其它。 Gtk Vertical Scale 垂直刻度 创造一个垂直滑块 和水平刻度一样,只不过是垂直的。 Gtk Horizontal Ruler 水平尺子 创造一把水平尺子 只是简单地放置一把水平尺子。可以根据自己的意愿设置尺子的刻度。 Gtk Vertical Ruler 垂直尺子 创造一把垂直尺子 很象水平尺子,只是垂直放置。 Gtk Alignment Widget 排列控件 创造一个控件,在它里面可以设置子控件的排列。 这是一个容器控件,在里面你可以准确地设置子控件的位置。 (基于容器控件的尺寸)。 Gtk Event Box 事件盒 这个控件可以捕获事件 这个控件允许你为另一个没有窗口的控件捕获事件。 Gtk Calendar 日历 创造一个日历控件 你可以用 gtk_calender_get_date()来获得用户选择的日期。你也可以用不同的信号如day_selected等来标记日期及其它。 Gtk Progress Bar 进度条 显示事件进度的条 可以设为显示动态事件(如前后移动的条)或事情完成百分率。如果设为百分比模式,用gtk_progress_set_percentage()或gtk_progress_set_value()来更新。. Gtk Layout 布局 创造一个布局控件 这是一个容器控件,你可以布置其它控件。我自己对它不熟悉。 Gtk Aspect Frame 方向框架 创造一个框架,里面的子控件可以保持它的方向 这是一个容器控件,可以控制子控件(如放在里面的控件) 的方向。可以设置在Glade属性窗口设置方向比率。 Popup Menu Icon 弹出菜单 创造一个弹出菜单 典型地用在当用户在什么上面点击右键。至少从Glade角度,这个菜单很象菜单条上的下拉菜单。 Gtk Arrow 箭头 创造一个箭头 只是显示一个指向四个基本方向其中之一的箭头。 Gtk Curve Gtk曲线 能被用户改变的曲线 更多信息请看文档,这是一个专业控件,将来会被移出gtk+库。 Gamma Curve Gamma曲线 可编辑的gamma曲线 更多信息请看文档。它被用来在GIMP里编辑 gamma曲线,是一个专业控件。最终它会被移出gtk+到另一个库。 Horizontal Scrollbar 水平滚动条 一个水平排列的滚动条 没有什么可说的,它是一个滚动条。 Vertical Scrollbar 垂直滚动条 一个垂直排列的滚动条 另一个滚动条。 Gtk Color Selection Widget 颜色选择 控制颜色选择的控件 这是颜色选择对话框的核心(见教程 Gtk+基本控件)。你可以使用color_changed信号,gtk_color_selection_get_color()及其它函数。 Gtk Font Selection Widget 字体选择 控制字体选择的控件 这是字体选择对话框的核心(见Gtk+基本控件)。使用gtk_font_selection_get_font(), gtk_font_selection_get_font_name()及其它。 Input Dialog 输入对话框 允许配置为XInput扩展设备的控件 见gtk+文档。 Custom Widget 定制控件 定制控件放置的地方 如果你在使用不是Glade一部分的定制控件,可以用它为你的控件插入一个放置的地方。 控件更多的细节:Gnome Gnome控件用于标准化gnome界面。如果你正在创建一个Gnome程序最好使用它们。同Gtk+控件相比,它们简化一些东西,允许你把你的程序与Gnome资源及其它东西连接起来。 注意下面并不是控件完整的列表。 在Glade未包含的库里也有可用的控件。没有列出函数 参数,也没有列出每个控件的所有函数。如果需要这些信息请到这个教程的 库部分。 Gnome 图像 名称 目标 函数及参考 Gnome Application Window 程序窗口 创建一个标准化的gnome程序窗口 你需要连接菜单和工具条上部件的信号到处理函数。详见以上关于菜单和工具条部分。 Gnome About Dialog 关于对话框 创建一个gnome关于对话框 不需要做任何事情,只要填上内容(版权、作者等)。按钮信号已被自动处理。 Gnome App Bar Gnome程序条 创建一个标准gnome程序条 这是一个程序条,把stock载入到Gnome程序窗口底部。在Glade属性窗口你可以设为显示一个进度条和一个状态消息的区域。这个区域可以用来给用 户状态信息。函数中的gnome_appbar_push()和gnome_appbar_pop()处理这个。它也有小缓冲区,更多信息见Gnome参 考手册。 Gnome Druid Gnome Druid 创建gnome druid系列的控件 当程序第一次运行时,Gnome Druid用来使用用户按他们的喜好定制程序。你需要指定需要多少页,再用属性窗口为每个页设置属性及其它。需要连接到finish、prepare、 cancel等信号。同时在druid控件里加入标准页里你所需要的文本框。 Gnome Color Picker Gnome颜色选择器 创建一个能打开gtk颜色选择对话框控件的按钮 这个控件是一个按钮,能显示已选择的颜色和缺省颜色。使用不同的gnome_color_picker_get_*()和 gnome_color_picker_set_*()函数来处理这个控件里的颜色。连接到本控件的信号是color_set。 Gnome Font Picker Gnome字体选择器 创建一个能打开gtk字体选择对话框控件的按钮 这个控件创建一个按钮,能打开字体选择对话框。它同时也显示当前的字体。使用gnome_font_picker_get_font()、 gnome_font_picker_get_font_name()等。连接到本控件的信号是 font_set。 Gnome Icon Entry Gnome图标输入框 创建一个'图标选择器'按钮 这个控件创建一个按钮,能显示当前图标,点击能打开一个图标选择器。使用gnome_icon_entry_get_filename()等函数来控制这个控件。 Gnome Href Button Gnome超级连接 创建一个连接到网页的按钮 这个控件是一个按钮,当点击会运行用户缺省浏览器并打开一个网页。你可以用gnome_href_set_url(), gnome_href_set_label()改变标签及地址。 Gnome Entry Box Gnome输入框 创建一个下拉输入框,并自动管理"历史"。 这是一个标准下拉框,不过输入历史记录被Gnome资源管理及维护。可以使用标准下拉框信号及函数,也可以使用任何 gnome_entry_*()函数之一。 Gnome File Entry Gnome文件输入框 创建一个下拉框,'浏览'键用来查找文件 有一个 browse_clicked信号,可以用来改变通常打开的文件选择对话框。你也需要连接到gtk_entry信号(当改变了一些东西)及其它。 Gnome PixMap Entry Gnome位图输入框 创建一个位图预览和输入控件来选择位图 这个控件显示一个所选位图的预览,需要的话输入框部分返回一个文件名(它是一个简单的gnome文件输入控件)。 Gnome Date Edit Gnome日期编辑 创建一个可处理的日期和时间控件 可以连接到date_changed和time_changed信号。注意它有一个弹出日历按钮(内部管理)及一个下拉时间选项菜单(也是内部管理)。选 择结果会显示在日期和时间输入框中。gnome_date_edit_get_date() 函数返回控件里输入的时间。记住它是C中的time_t类型。 Gnome Canvas Gnome画布 创建一个可画图的控件 我对这个控件不熟悉,它的文档需要被完成。对不起,我知道这儿有几个界面需要的控件库,当你需要这个控件它们值得一看。 Gnome Icon List 图标列表 创建一个图标列表控件 详见gnome参考手册。 Gnome Icon Selection 图标选择 创建一个图标选择控件 详见gnome参考手册。 Gnome Bonobo Control Bonobo控制 执行一个眼镜蛇控制控件 详见bonoboui文档,在这里。 |