看这么长的英文资料还是第一次,多亏老婆的加油还有老婆陪着一块看书,不然很难坚持下来
1.第一到二章是教怎么安装gtkmm的,所以略去不说
2.第三章是才是经典HelloWorld,我所看到的内容重点有
(1).#include
(2).Gtk::Main kit(argc, argv);kit分析命令行,是否有Gtk::Main可用的参数,把其它参数留你(程序员),手册的字面意思是这个,具体还没有接触到,现在也用不着,就先放一放
(3).Gtk::Main::run(window);来进入消息循环
(4).编译要用命令
g++ *.cc -o helloworld `pkg-config gtkmm-2.4 --cflags --libs`
其中gtkmm-2.4要根据gtk的版本,“`”这个符号是Tab上边的那个也就是“1”左边的那个,我还以为是单引号试了半天不行,但复制的就能运行-_-
(5).接下来的autotools设置也忽略了
(6).发现按钮、列表框、……之的小窗口在Windows里叫Controls在gtkmm里叫Widgets,难怪以前看些C/C++的书其中的例子好多都用Widget原来这么流行,还有一个GUI类库就叫wxWidgets,在Windows下叫Message在Gtkmm下叫Signal
(7).还有字符串最好用Glib::ustring
(8).还有一个更迷人的就是libglademm还可以把界面设计和写代码分开,实在是太棒了
(9).把信号(Signal)和信号处理函数关联起来用m_button.signal_clicked().connect(sigc::mem_fun(*this,
&HelloWorld::on_button_clicked));
3.第四章主要讲Buttons家族的Widget,用Windows里的名字就叫,按钮、开关按钮、复选框、单选框
(1).开关按最好用toggled()函数来改变状态,也可以用set_active()来设置,用get_active()取回状态
(2).单选还复选按钮都继承于开关按钮所以也可以用上面函数
(3).用下列两种方法把单选按钮设置成一组
Gtk::RadioButton::Group group = m_rb1.get_group();
m_rb2.set_group(group);
m_rb3.set_group(group);
注意不能像下面这么用,因为set_group()函数要改变group对象而get_group()返回的是const型的
m_rb2.set_group(m_rb1.get_group()); //doesn't work
也可以用面方法设置单选按钮的组
Gtk::RadioButton::Group group;
Gtk::RadioButton *m_rb1 = Gtk::manage(
new Gtk::RadioButton(group,"button1"));
Gtk::RadioButton *m_rb2 = manage(
new Gtk::RadioButton(group,"button2"));
Gtk::RadioButton *m_rb3 = manage(
new Gtk::RadioButton(group,"button3"));
不明白是怎么实现的,为是什么是用局部变量,可能是RadioButton内部记着group id之类的东西吧
4.第五章主要是像Windows下面的滚动条一类的Widget,还有调时间用的那个带两个小箭头的,等等可以在一个范围内调整的Widget,有用的函数有:
set_draw_value()
set_digits()
set_draw_pos()
信号有:
value_changed()
5.第六章其它一些常用的Widget,有标签(label),文本框(entry),SpinButton(不知道中文应该叫什么,就是上面说的调时间用的),进度条(ProgressBar),工具提示(Tooltips)
阅读(739) | 评论(1) | 转发(0) |