摘要:数学大师丘成桐痛击中国学术腐败 杨猛 北京科技报2005年08月10日 以目前的本科教育模式,国内不可能培养出一流人才 中国大学生的基础水 平,尤其是修养和学风在下降 哈佛毕业生的论文水平比国内有些院士的文章都 好 如果不重视学风建设,中国科技至少后退20年 基础教育不扎实,不可能培养出一流人才 “如果不重视基础教育,以目前的本科教育模式,国内不可能培养出一流人 才。”8月6日,数学大......
摘要:转载自:http://blog.chinaunix.net/article.php?articleid=34406&blogid=7635前天恢复我的rh8,一年多了,没时间管她。心血来潮想好好学习一下。结果,终于让我用sir上介结的法子把我的mbr给弄挂了。搜集了几年的好东东就在几条命令后牺牲了。痛定思痛,是该好好学习 的时候了。---by shell转载自:http://www.lin......
QT 入门上一页 ...32. // no need to delete child widgets, qt does it all for us 33. } 【程序编程相关:
Oracle9i在Linux9.0上的安】 【推荐阅读:
Linux下cvs的安装配置】 【扩展信息:
Linux挂载Windows分区】 1: 我们上面的定义文件 2: pushbutton所需要的 .h 文件 3-6: 我们根本用不到, qt designer 自己产生的 7-13: qt designer 产生的注解 14-15: form1 的结构 17-18: 如果form1:form1中没有 pass 一个名子过来.那麽就命名为 form1 19: resize 20: 把显示出来的那个 dialog 的名子定为 form1, 也就是 window 中左上角的字 21: 做出一个新的button,名子为 pushbutton1 22: 这里设定了 pushbutton 在这个 dialog 中的位置. qrect(130, 160, 161, 71) 这里是说在一 个dialog中,以左边最上面来算,位置是(0,0), 所以说,这里的130(横向)与 160 (纵向)就是说我 们从 (0,0)开始,往左边跑130,往下跑 160.这样我们就算出了pushbutton这个按钮画在那里了.後面的161, 71则是定义这个pushbutton到底要画多大,设定了长与高 23: 通过呼叫settext指令,我们可以在这个 button上面给入我们需要的文字.这里是 exit 24: qt designer 产生的注解 25: 上面就是处理当接收到 clicked 的信号(singal)以後,我们所作的事情(setfocus on pushbutton1) connect 这里是告诉程式连接一个信号,pushbutton1, signal(clicked()),是说信号是由 pushbutton1 发出, 发出的信号为 mouse clicked,pushbutton1, slot(setfocus())表示信号发出以後,目标(object)为 pushbutton, event 是 setfocus() 动作 26: 主程式结束 27-29: qt designer 的注解 30-33: 清除 form1 由於我们要常常用到 qt designer, 也就是说,需要常常用到 uic 这苹程式. 为了省去每次都要 打一堆东西的麻烦.我们来写一各小 script 来处理 .ui 档案. 不难看出, uic 在处理/生成 .h .cpp 档案的时侯,用到了两个指令∶ uic -o form1.h form1.ui uic -i form1.h -o form1.cpp form1.ui 所以我们的 script 就写成∶ ############################################################### #!/bin/sh # # myuic program convert .ui to .cpp .h by calling uic # # input_ui=$@ # #这里读取外面传回来的文件名 # # # if [ ! -f "$input_ui" ] # then # echo "uic file $input_ui not found" # echo # echo "userage myuic input_file.ui" # echo # exit 1 # fi # #上面的语句检查我们所输入的.ui文件是否存在 # #如果找不到指定的.ui文件,则显示一个简短的 # #使用说明 # # input_h=`echo $@ | cut -d . -f1`.h # #这里我们利用 cut 来处理输入的 .ui 文件. # #得到一个 .h 的文件名 # # input_cpp=`echo $@ | cut -d . -f1`.cpp # #同样的道理,利用 cut 产生一个 .cpp 的文件名 # # uic -o $input_h $input_ui # #这里就是利用 .ui 产生 .h 的文件 # # uic -i $input_h -o $input_cpp $input_ui # #利用 .h 与 .ui 产生 .cpp 文件. # # ############################################################### 我门把这个文件存为 myuic. 并切 chmod +x 变成可执行档案. 然後 cp 到 /usr/bin 上面. 如果您在电脑中没有 root 的权限. 可以在自己的 $home 目录中做一个 bin 的 directory 出来. 然後去编辑您的 .bash_profile (这里假设您用的是 bash) 如果您的 .bash_profile 中本身已经有了 path 这段文字,那麽 您只要在原本的 path 後面加上 :$home/bin就可以了.如果没有 那麽就在您的 .bash_profile 中写入∶ path=$path:$home/bin export path 这样您以後就可以直接执行 myuic 这个文件了.现在试试看用 myuic 来处理 刚刚的那个 form1.ui 这个文件吧. 先把旧的 .h .cpp 都删除掉∶ rm -f *.cpp *.h 然後用 myuic 来生成新的 .cpp .h 文件∶ myuic form1.ui 这时候用 ls 就会看到 form1.cpp form1.h form1.ui 这三个文件了 这时侯我们只需要写一个小的main.cpp就可以编译form1.cpp了. main.cpp非常的简单 #include "form1.h" #include int main(int argc, char **argv) { kapplication app(argc, argv, "form1"); //kde 是建立在qt的基础上得所以kapplication //所以kapp.h实际上包含了qapplication.h form1 *form1=new form1(); form1->show(); app.setmainwidget(form1); return(app.exec()); } 基本上来说,很简单.然後当然就是编译啦.我建议写出来的东西都用 kdevelop 来解决.首先 kdevelop 介面非常的友善.又能省下写 makefile 的麻烦.打开 kdevelop 以後,选择 项目->新建, kde2-normal, 然後 选择 next,在这一页中.注意不要在任何选项中打"x",因为我们用不到.反而会增加麻烦.最後 一直 next,然後 create , exit. 这时侯我们就已经有一个新的项目可以用了.在 menu 中选择: 项目->添加现存文件.然後把 qt_program 中的 form1.cpp form1.h 与 main.cpp 加入. 这时候只要按 一下 f9 , kdevelop 就会自动帮您把程式 compile 出来.并且执行. 程式执行後,我们不能用 click 那个 exit button 退出程式.因为我们并没有给他退出的信号.现在让我们来把程式码作些改动∶ ########################################################### #form1.h #ifndef form1_h #define form1_h #include class qpushbutton; class form1 : public qdialog { q_object public: form1(qwidget *parent=0, const char *name=0); qpushbutton* pushbutton1; }; #endif // form1_h ################################################################# #form1.cpp #include "form1.h" #include #include form1::form1(qwidget* parent, const char* name): qdialog(parent, name) { setcaption(tr("form21")); pushbutton1=new qpushbutton(this,"pushbutton1"); pushbutton1->setgeometry(qrect(130,160,161,71)); pushbutton1-vsettext(tr("exit")); connect(pushbutton1, signal(clicked()), kapp, slot(quit())); } form1::~form1(){} #################################################################### main.cpp 保持不变.经过一番简化.程式码马上简单很多了. 这里我们除了把一些由 qt design 做出的不必要的 code 挑除以外.对 form1.cpp 做了两个小改动. 1.增加了 #include 这个 head file. 2.我们把∶ connect(pushbutton1, signal(clicked()), pushbutton1, slot(setfocus())); 改变为 connect(pushbutton1, signal(clicked()), kapp, slot(quit())); 同样的信号传送,但是目标对象有所改变.现在目标将作用在 kapp 上面也就是我们 的主程式(main application),而 slot 则是呼叫 quit(),现在 kdevelop 中更改 程式码.然後按下 f9 .等待程式运行.这时侯我们的程式,只要在那个 exit 的 button 上面用 mouse click 一下. 这个程式就完全关闭了. 现在我们在这个 pushbutton 中再增加一些功能.我们来看看 qt designer 中的 tooltip ...
下一页 摘要:看一个男人的品味,要看他的袜子。 看一个女人是否养尊处优,要看她的手。 看一个人的气血,要看他的头发。 看一个人的心术,要看他的眼神。 看一个人的身价,要看他的对手。 看一个人的底牌.要看他身边的好友。 看一个人的性格,要看他的字写得怎样。 看一个人是否快乐,不要看笑容,要看清晨梦醒时的一刹那表情。 看一个人的胸襟,要看他如何面对失败及被人出卖。 ......