对话框 Dialogs@GTK+ 2.0 中文教程连载
来源:互联网 发布:新浪微博认证淘宝店主 编辑:程序博客网 时间:2024/05/19 16:33
对话框 Dialogs
对话构件非常简单,事实上它仅仅是一个预先组装了几个构件到里面的窗口。对话框的数据结构是:
struct GtkDialog
{
GtkWindow window;
GtkWidget *vbox;
GtkWidget *action_area;
};
从上面可以看到,对话框只是简单地创建一个窗口,并在顶部组装一个纵向盒(vbox),然后在这个纵向盒中组装一个分隔线(separator),再加一个称为“活动区(action_area)”的横向盒(hbox).
对话框构件可以用于弹出消息,或者其它类似的任务。这里有两个函数来创建一个新的对话框:
GtkWidget *gtk_dialog_new( void );
GtkWidget *gtk_dialog_new_with_buttons( const gchar *title,
GtkWindow *parent,
GtkDialogFlags flags,
const gchar *first_button_text,
... );
第一个函数将创建一个空地对话框,你现在就可以使用它了。你可以组装一个按钮到它的活动区(action_area),就像下面这样:
button = ...
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (window)->action_area),
button, TRUE, TRUE, 0);
gtk_widget_show (button);
你可以通过组装来扩充活动区,比如,增加一个标签,可以像下面这样做:
label = gtk_label_new ("Dialogs are groovy");
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (window)->vbox),
label, TRUE, TRUE, 0);
gtk_widget_show (label);
作为一个示例,可以在活动区里面组装两个按钮:一个“取消”按钮和一个“确定”按钮,再在纵向盒(vbox)里组装一个标签,以便向用户提出疑问,或显示一个错误信息等。然后可以把不同信号连接到每个按钮,对用户的选择进行响应。
如果由对话框提供的纵向和横向盒的简单功能不能满足你的需要,可以简单地在组装盒中添加其它布局构件。例如,可以在纵向盒中添加一个组装表(table)。
更复杂的 gtk_dialog_new_with_buttons() 函数允许你设置下面的一个或多个参数。
- GTK_DIALOG_MODAL
使对话框使用独占模式。
- GTK_DIALOG_DESTROY_WITH_PARENTS
保证对话框在指定父窗口被关闭时也一起关闭。
- GTK_DIALOG_NO_SEPARATOR
省略纵向盒与活动区之间的分隔线
<<< PreviousHomeNext >>>进度条 Progress BarsUp标尺 Rulers
- 对话框 Dialogs@GTK+ 2.0 中文教程连载
- GTK+ 2.0 中文教程连载
- GTK 信号@GTK+ 2.0 中文教程连载
- 中文版说明@GTK+ 2.0 中文教程连载
- 简介@GTK+ 2.0 中文教程连载
- 事件@GTK+ 2.0 中文教程连载
- 数据类型@GTK+ 2.0 中文教程连载
- 组装构件@GTK+ 2.0 中文教程连载
- 构件概述@GTK+ 2.0 中文教程连载
- 标尺 Rulers@GTK+ 2.0 中文教程连载
- 状态栏 Statusbars@GTK+ 2.0 中文教程连载
- 日历 Calendar@GTK+ 2.0 中文教程连载
- 框架 Frames@GTK+ 2.0 中文教程连载
- 视角 Viewports@GTK+ 2.0 中文教程连载
- 工具栏 Toolbar@GTK+ 2.0 中文教程连载
- 笔记本 Notebooks@GTK+ 2.0 中文教程连载
- 监控IO@GTK+ 2.0 中文教程连载
- Idle 函数@GTK+ 2.0 中文教程连载
- “现金红包”震撼兑换,china-pub迎新大回馈!
- 变量的声明和作用域——VB
- 见证Java之路
- Wi-Fi Direct插手产品应用
- Aisha says: Arsenal dressing room secrets
- 对话框 Dialogs@GTK+ 2.0 中文教程连载
- 《unix环境高级编程》的出错处理函数(fun1.c)
- 标尺 Rulers@GTK+ 2.0 中文教程连载
- NTP服务对oracle RAC的影响
- 状态栏 Statusbars@GTK+ 2.0 中文教程连载
- .net程序员之我见
- 练习题目3
- 程序员的出路
- 工作流和BPM有何不同?