1. 程式人生 > >Gtk開發小結_控制元件基礎

Gtk開發小結_控制元件基礎

Gtk::Window,Gtk::Fixed,Gtk::Label,Gtk::Button,Gtk::RadioButton,Gtk::Image,Gtk::TextTable,Gtk::Entry。

1. 前提準備 using namespace Gtk; // 使用域名空間 2. gtk窗體 window->set_decorated(false); // 刪除窗體的頭 window->set_border_width(3); // 設定窗體邊寬為3 window->set_position(Gtk::WIN_POS_CENTER); // 將窗體放置在螢幕中間 3. gtk控制元件容器 Fixed *fixed = manage(new Fixed); // 建立一個控制元件容器 window->add(*fixed);  // 將控制元件容器放置到制定的窗體 4. gtk標籤 gtk標籤的屬性有:字型大小,字型顏色,標籤換行,標籤尺寸,文字對齊方式 Lable *label = manage(new Label); label->set_markup("測試標籤"); // 設定標籤字型顏色和字型大小 label->set_line_wrap(true); // 設定自動換行 label->set_size_request(100, 100); // 設定標籤尺寸 label->set_alignment(0.0, 0.5); // 橫向左對齊,縱向居中 5. gtk按鈕 gtk按鈕的屬性有:字型大小,字型顏色,按鈕尺寸, 設定按鈕狀態、設定背景圖片 Button *button = manage(new Button); Pango::FontDescription font_desc; // 字型描述 font_desc.set_weigh(Pango::WEIGHT_BOLD); // 設定字型 font_desc.set_size(14 * Pango::SCALE); // 設定字型大小 button->set_font(font_desc); button->set_size_request(100, 100); // 設定按鈕尺寸 #define STATE_NORMAL 0 button->set_state(STATE_NORMAL); // 設定按鈕狀態 button->set_image(image); // 設定背景圖片 6. gtk單選按鈕 單選按鈕的屬性有:尺寸,字型對齊方式,設定按鈕狀態 RadioButton::Group groupDealType; // 宣告一個群 RadioButton *rbDealType = manage(new RadioButton(groupDealType, "測試")); // 宣告並定義一個按鈕 rbDealType->set_size_request(115, 30); // 設定按鈕尺寸 rbDealType->set_alignment(0.5, 0.5); // 設定按鈕文字對齊方式 rbDealType->set_active(true); // 設定按鈕選中狀態 7. gtk圖片 圖片的屬性有:顏色、設定尺寸、設定顏色快取 Glib::RefPtr  pixbuf = Gdk::Pixbuf::create(Gdk::COLORSPACE_RGB, withAlpha, 8, width_, height_); pixbuf->fill(color); // 快取中填充顏色 image_->clear(); // 清空圖片內容 image_->set_size_request(width_, height_); // 設定圖片尺寸 image_->set(pixbuf); // 設定圖片快取 8. gtk表格 表格的屬性有:表格字型、設定表格邊寬、文字對齊方式、行高、列寬、表格內容 TextTable* table_ = manage(new TextTable(row, col)); table_->set_text_font("#000000", "13", ""); // 設定表格字型 table_->set_border_width(0); // 設定表格邊寬 table_->set_text_alignment(0.5, 0.5); // 設定文字對齊方式 table_->set_size_request(150, 24); // 設定表格尺寸 table_->set_row_height(0, 24, true); // 設定行高 table_->set_coloumn_width(0, 130); // 設定列寬 table_->set_text(0, 0, _GL2U("測試")); // 設定表格內容 9. gtk輸入框 輸入框的屬性有:焦點、設定尺寸、內容輸入最大長度 this->set_focus(*etyPayAmount); // 設定當前視窗的焦點到輸入框 etyPayAmount = manage(new Entry); etyPayAmount->set_size_request(120, 20); // 設定輸入框的尺寸 etyPayAmount->set_max_length(6); // 設定內容輸入最大長度