Tuesday, April 13, 2010

那隻叫昆西的小貓

昨天晚上在讀國外的Paper,發現了昆西小貓。一直以來我一直在搜尋一些簡單,自由,又小的東西,今天被我找到了。那個叫昆西的小東西。

但是,為什麼是昆西,跟昆西一樣的東西很多,有些還強大的多,如QT,DEV C++,還有wxDEV C++(/w wxWidget),而且昆西能夠找到的資料簡直就是少的可以,中文語系的人幾乎沒有用過甚至想用。但,因為昆西的貓頭,讓我用了他。我簡單的介紹昆西的一些特點。

其實昆西是個在簡單不過的小東西,沒有什麼比別人強的地方,但是就是小。他包涵了幾個我覺得還蠻實用的東西,如winBGIm,koolplot及FLTK,但是這些東西強嗎?全部徹徹底底的輸給了QT,但只因為昆西的小貓頭。

我特別要展示FLTK的用法,其他功能,程式的寫法,跟一般整合的IDE沒有什麼兩樣。

我們開一個專案,將會出現以下畫面

我起了個名,叫QuincyQQ,很Cute的昆西。

然後在Tool下開啟FLUID Screen Designer

 

建立一個main()

然後New/Group/Windows建立一個視窗,然後再New/Buttons/Button建立一個按鈕。然後把名字設成如下

接著,在按紐下按兩下,會出現以下畫面。

 

在Callback中加入cute_cb

加入新的Function/Method。名稱就是cute_cb(Fl_Widget*,void*),然後在加入stdio.h

然後回到昆西,在昆西加入cute.cxx 這要在fluid中產生。

然後就可以編譯了。講完了 以下是兩個原始檔,一個是cute.cxx一個是cute.h。都是由fluid產生

// generated by Fast Light User Interface Designer (fluid) version 1.0108

#include "cute.h"
#include<stdio.h>

void cute_cb(Fl_Widget*,void*) {
  printf("昆西實在是太Cute了\n");
}

int main(int argc, char **argv) {
  Fl_Double_Window* w;
  { Fl_Double_Window* o = new Fl_Double_Window(163, 60);
    w = o;
    { Fl_Button* o = new Fl_Button(30, 15, 105, 25, "\251\370\246\350\246nCute");
      o->callback((Fl_Callback*)cute_cb);
    } // Fl_Button* o
    o->end();
  } // Fl_Double_Window* o
  w->show(argc, argv);
  return Fl::run();
}

// generated by Fast Light User Interface Designer (fluid) version 1.0108

#ifndef cute_h
#define cute_h
#include <FL/Fl.H>
void cute_cb(Fl_Widget*,void*);
#include <FL/Fl_Double_Window.H>
#include <FL/Fl_Button.H>
#endif

No comments: