首頁 / LinuxDev / GTK+ 2.0 教學-比例元件 Scale Widgets

GTK+ 2.0 教學-比例元件 Scale Widgets

比例元件(Scale widgets)一般用於允許用戶在一個指定的範圍內可視地選擇和操縱一個值。你會用到比例元件,例如,圖片的縮放預覽中調整放大倍數,或控制一種顏色的亮度,或指定螢幕保護啟動之前不作用的時間。

創建一個比例元件

像捲軸一樣,有水平和垂直兩種不同類型的比例元件。(大多數程式員似乎喜歡水平的比例元件。)既然在本質上它們的工作方式是相同的,那麼不需要對它們分別對待。下面的函式分別創建垂直和水平的比例元件:

 *gtk_vscale_new( GtkAdjustment *adjustment );

 *gtk_vscale_new_with_range( gdouble min,
                                      gdouble max,
                                      gdouble step );

 *gtk_hscale_new( GtkAdjustment *adjustment );

 *gtk_hscale_new_with_range( gdouble min,
                                      gdouble max,
                                      gdouble step );

adjustment 參數可以是一個已經用 gtk_adjustment_new() 創建了的調整物件,或 NULL,此時,會創建一個匿名的調整物件,所有的值都設為0.0(在此處用處不大)。為了避免把自己搞糊塗,你可能想要創建一個 page_size 值設為 0.0 的調整物件,讓它的 upper 值與用戶能選擇的最高值相對應。而 _new_with_range() 函式會照顧到創建一個適當的調整物件。(如果你已經徹底困惑了,看看調整物件這一章,它解釋了調整物件的作用和怎樣創建和操作它們。)

函式和信號(至少講了函式)

比例元件可以在滑槽的旁邊以數字形式顯示其當前值。預設的行為是顯示值,但是可以用下面這個函式改變其行為:

void gtk_scale_set_draw_value( GtkScale *scale,
                               gboolean draw_value );

可以猜到,draw_value取值為 TRUEFALSE,結果是顯示或不顯示。

預設情況下,比例元件顯示的值,跟在它的調整物件中的value欄位一樣,四捨五入到一位小數。可以用以下函式改變顯示的小數位:

void gtk_scale_set_digits( GtkScale *scale,
                            gint     digits );

digits是要顯示的小數位數。可以將digits設置為任意位數,但是實際上螢幕上最多只能顯示13位小數。

最後,顯示的值可以放在滑槽附近的不同位置:

void gtk_scale_set_value_pos( GtkScale        *scale,
                                pos );

參數posGtkPositionType類型,可以取以下值之一:

  GTK_POS_LEFT
  GTK_POS_RIGHT
  GTK_POS_TOP
  GTK_POS_BOTTOM

如果將值顯示在滑槽的「側面」(例如,在水平比例元件的滑槽的頂部和底部),顯示的值將跟隨滾軸上下移動。

所有前面講的函式都在<gtk/gtkscale.h>裡定義。當你包含了<gtk/gtk.h>文件時,所有 GTK 元件的標頭檔都自動包含了。但你應該去察看一下所有你感興趣的元件的標頭檔,這樣才能學到它們的更多的功能和特性。

馬上成為工作達人的Fans

About ㄚ琪

工作達人Fun Taiwan的創辦者及總編,可以在這裡更認識他。

One comment

發表迴響

你的電子郵件位址並不會被公開。 Required fields are marked *

*

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料

Scroll To Top