12.6 常用控件
12.6.1 进度条、微条按钮、组合框
1.进度条控件
创建进度条要使用GtkAdjustment控件。GtkAdjustment用来存储上边界、下边界、步进值等信息。
(1)创建GtkAdjustment
GtkObject* gtk_adjustment_new(gfloat value,gfloat lower,gfloat upper, |
(2)创建进度条
GtkWidget* gtk_progress_bar_new(void) |
(3)设置进度条的样式
void gtk_progress_bar_set_bar_style(GtkProgressBar *pbar, |
其中style取值如下。
GTK_PROGRESS_CONTINUOUS:连续进度条。
GTK_PROGRESS_DISCRETE:条块进度条。
(4)设置进度条方向
void gtk_progress_bar_set_orientation(GtkProgressBar *pbar, |
其中orientation取如下值。
GTK_PROGRESS_LEFT_TO_RIGHT:从左往右显示进度。
GTK_PROGRESS_RIGHT_TO_LEFT:从右往左显示进度。
GTK_PROGRESS_BOTTOM_TO_TOP:从下往上显示进度。
GTK_PROGRESS_TOP_TO_BOTTOM:从上往下显示进度。
(5)更新进度
void gtk_progress_bar_update(GtkProgressBar *pbar, gfloat percentage) |
2.微调按钮
创建微调按钮也要使用GtkAdjustment控件。
(1)创建GtkSpinButton
GtkWidget* gtk_spin_button_new(GtkAdjustment *adjustment, |
参数含义如下。
climb_rate:每步的增加值。
digits:包含的小数位数。
(2)获取和设置微调按钮的值
gfloat gtk_spin_button_get_value_as_float(GtkSpinButton *spin_button) |
(3)获取和设置GtkAdjustment
GtkAdjustment* gtk_spin_button_get_adjustment(GtkSpinButton *spin_button) |
3.组合框
组合框是编辑框和列表框的组合。
(1)创建组合框要使用GList,用于保存显示的字符串。向GList中添加字符串的函数是:
void g_list_append(GList *list,char *string) |
(2)创建组合框
GtkWidget* gtk_combo_new(void) |
(3)设置组合框中显示的字符串
void gtk_combo_set_popdown_strings(GtkCombo *combo,GList *strings) |
例12-5 进度条、组合框、微条按钮的使用,程序名为control.c
#include |
程序运行后的界面如图12-6所示。
![]() |
| 图12-6 运行结果界面 |
