gtkmm 学习笔记(2) 按钮.

Gtkmm 按钮

gtkmm提供了四种基础的按钮类型
Gtk::Button, Gtk::ToggleButton, Gtk::CheckButton, Gtk::RadioButton

有两 种方式建立一个Button, 你可以在构造函数中指定Button的文本,或在稍后通过set_label()来设置它.
想要定义一个加速键,在文本中的某个字符前加一条下划线,并加上true参数以指明是使用 mnemonic paramter.
如:
Gtk::Button* pButton=new Gtk::Button("_Something",true);

还有一些通用的按钮可以用(Stock item), 这样你的程序就可以跟其他程序有一致的外观了.
如: Gtk::Button* pButton=new Gtk::Button(Gtk::Stock::OK);
这样构造的函数,将会有标准的文本(所有语言,跟环境中的一样),有标准的加速键,和标准的图标 .

还有,Gtk::Button也是个容器,所以你可以在上面放任何widget,如Gtk::Image

ToggleButton跟普通按钮差不多,不过你可以通过 get_active()  和 set_active()来取得和设置按钮的
状态,如果按钮是按下的,get_active()返回true.
另外还可以使用 toggled()来进行切换

CheckButton从ToggleButton继承过来,唯一真正的区别是两种的外观.

RadioButton跟CheckButton差不多,区别是它可以放在一个组中,一个组里只有一个RadioButton可以被
选中. 一种如下:
  Gtk::RadioButton m_rb1, m_rb2,m_rb3;
  ........
  Gtk::RadioButton::Group group=m_rb1.get_group();
  m_rb2.set_group(group);
  m_rb3.set_group(group);
通过得到第一个按钮的group并设置到后面的按钮中. 注意,你不能只是
m_rb2.set_group(m_rb1.get_group());
因为group会被set_group()修改,所以是non-const的.

另一种是:
  Gtk::RadioButton::Group group;
  Gtk::RadioButton *m_rb1=Gtk::manage(new Gtk::RadioButton(group,"button1"));
  Gtk::RadioButton *m_rb2=Gtk::manage(new Gtk::RadioButton(group,"button2"));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值