久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 4978|回復: 0
打印 上一主題 下一主題
收起左側

GTK的color selection、file choose、font控件【原】

[復制鏈接]
跳轉到指定樓層
樓主
ID:72519 發表于 2015-1-23 19:28 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
        GtkColorButton為用戶選擇顏色提供了一種比較簡單方法,這些顏色值是有6個16進制數或RGB直來組成。在Button控件內部長方形區域顯示所選中的顏色作為Button控件的子控件,這樣構成GtkColorButton。當你點擊它時,他會彈出一個對話框供你選擇顏色。
GdkColor color;
gdk_color_parse ("#003366", &color);
button = gtk_color_button_new_with_color (&color);
gtk_color_button_set_title (GTK_COLOR_BUTTON (button), "Select a Color");上面的代碼創建了一個GtkColorButton。其中GdkColor的結構成員如下:
struct GdkColor
{
guint32 pixel;
guint16 red;
guint16 green;
guint16 blue;
};其中piexl會自動保存顏色的索引,不需要軟件人員去改變它的值。red、green、blue的范圍是0~65535。很多情況下我們都是通過“#003366”這樣的格式去獲取顏色的,在GTK中,要把"#003366"解析成GdkColor格式,需要通過函數gdk_color_parse來實現。至此,我們可以通過gtk_color_button_new_with_color來創建顏色選擇按鈕。
         GtkFileChooserButton為用戶選擇文件或文件夾提供了一種比較簡單方法。當用戶點擊它時,一個GtkFileChooserDialog將被打開允許用戶選擇文件或文件夾。
chooser1 = gtk_file_chooser_button_new ("Chooser a Folder", GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER);
chooser2 = gtk_file_chooser_button_new ("Chooser a Folder", GTK_FILE_CHOOSER_ACTION_OPEN);上面兩個函數是創建兩個GtkFileChooserButtonGtkFileChooserButton可以選擇單個文件或單個文件夾,這主要跟函數gtk_file_chooser_button_new的第二個參數,第二個參數共有4個類型,這里只介紹兩種:
GTK_FILE_CHOOSER_ACTION_OPEN:表示用戶將選擇單個文件,可以通過濾波器來過來顯示的文件類型。
GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER:表示用戶將選擇單個文件夾。
gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (chooser1),g_get_home_dir());
gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (chooser2),g_get_home_dir());函數gtk_file_chooser_set_current_folder用來設置當前讀入文件或文件夾目錄,也就是你點擊GtkFileChooserButton控件彈出的對話框中顯示的目錄。
filter1 = gtk_file_filter_new ();
filter2 = gtk_file_filter_new ();
gtk_file_filter_set_name (filter1, "Image Files");
gtk_file_filter_set_name (filter2, "All Files");
gtk_file_filter_add_pattern (filter1, "*.png");
gtk_file_filter_add_pattern (filter1, "*.jpg");
gtk_file_filter_add_pattern (filter1, "*.gif");
gtk_file_filter_add_pattern (filter2, "*");函數gtk_file_filter_new創建文件濾波器,gtk_file_filter_add_pattern用來設置濾波參數,比如上面提到的"*.png"等。至此,我們可以通過gtk_file_chooser_get_filename 函數來獲取你選擇文件或文件夾的名字。
         GtkFontButton是另外一種特殊的按鈕控件,用來選擇系統內的字體。
button = gtk_font_button_new_with_font ("Sans Bold 12");
gtk_font_button_set_title (GTK_FONT_BUTTON (button), "Choose a Font");通過函數gtk_font_button_new_with_font來創建GtkFontButton,帶的參數是一個字符串,包含字體的三個屬性,每個屬性中間用空格隔開;比如"Sans Bold 12"表示字體名字叫Sans,Bold表示字體加粗,12表示字體大小。
font = gtk_font_button_get_font_name (button);
desc = pango_font_description_from_string (font);
gtk_widget_modify_font (label, desc);函數gtk_font_button_get_font_name獲取選中的字體,返回的是一個字符串,格式跟"San Blod 12"一樣,pango_font_description_from_string用來解析字體。最后就可以通過函數gtk_widget_modify_font去改變控件的字體咯。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 观看av| 青娱乐福利视频 | 特黄一级片 | 免费av小说 | av片免费看| 欧美成人一区二区三区片免费 | 国产黄色大片 | 久久久久国产视频 | 成年人免费在线观看 | 91av视频在线 | 久久亚洲精品视频 | 久久精品免费看 | 免费看一级黄色片 | 日本免费视频 | 欧美成人精品一区二区 | 欧美日韩精品 | 夜夜骑天天干 | 四虎影院免费观看 | 视频一二区 | 超碰在线免费 | 日韩欧美一区在线 | 中文字幕在线观看网址 | 国产a一级 | 中文字字幕码一二三区 | 久久久久久国产 | 在线国产小视频 | 欧美三级三级三级爽爽爽 | 欧美日韩成人一区二区 | 求av网址| 在线中文字幕网站 | 天天摸天天爽 | 欧美成人精品 | 人人草在线视频 | 黄色在线观看网址 | 欧美日韩精品一区 | 长河落日连续剧48集免费观看 | 成人免费网站黄 | 免费网站黄色 | www.亚洲天堂 | 在线黄色网 | 一区二区三区四区免费视频 |