homework-03

作业2的图形化处理

基本思路

这个问题本身很容易,但无奈老师的要求实在是奇怪。要从命令行 启动程序,并且多次运行后只保留一个程序在运行。已经都写UI了 为何还要用命令行控制?如果非要满足这个要求,还需要写很麻烦 的进程切换,所以我没有完全按照老师的要求写。我的想法是用UI 作为主控程序,直接在UI内实现参数的输入。输入后用户按下按钮 触发一个过程,在这个过程中实现如下功能:

  1. 分离参数
  2. 将参数传递给计算程序,执行计算
  3. 获取计算结果
  4. 新建tab并显示结果

这样实现的话计算程序运行完后就退出了,所以系统中不会有两个 maxsum在运行。

实现

由于最近一直在linux下学习,所以决定采用gtk来实现。Gtk是用c 语言实现的图形化库,几乎是完全按面向对象的规范实现的。容器 的思想使得用起来非常方便高效。不得不说c语言真的很强大,面 向对象不是语言属性,而是思想属性。

细节

具体实现的时候其实是两个程序分开来了,原来的计算程序没动。UI 直接调用计算程序,输出的结果保存在一个文件中,UI再读入处理。 没有采用进程通信之类的,感觉实在没有必要。没有把程序写在一起 是因为太长了,而且因为要多次执行计算,计算程序中的一些变量初 始化容易出问题,索性直接调用程序。具体图形化的细节就不说了, 了解了gtk的一些规则后真没什么说的,写就行了。有些细节没有再 细致的处理,如组件大小之类的,这周作业略多,时间不太够,望谅 解。

运行效果

posted @ 2013-10-20 21:38  zjoe  阅读(152)  评论(2编辑  收藏  举报