Gtk开发小结_控件基础

来源:互联网 发布:js判断是否数组 编辑:程序博客网 时间:2024/06/14 04:50

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); // 设置内容输入最大长度
0 0