linux gtk ide 程式設計(二)
flyli
今天早上7點中在睡夢中的我就收到了珠珠(我女朋友哈,是我第乙個喜歡的女朋友,今年一起去北京比賽後,她回了家,我回到了學校,呵呵,程式設計師要想找個好老婆不容易阿,要珍惜才是,您說是不?)的簡訊,說今天他去寺廟抽籤,抽的是因緣籤,沒好意思讓人給解籤,結果就把簽發過來,讓我在網上解。
一查,哇靠,上上籤啊~呵呵
上面說君垂思澤潤無邊,覆禱祈禳沒黨偏;
一切有情皆受用,均佔樂利得周全。
看了看網上的解籤,覺得很簡陋,自己也學過文言文的嘛,所以自己也可以解一點,不過發覺古人真的是很狡猾阿,這種籤貌似可以有很多中解法,然後再看著別個的臉色,基本就能解出比較真實的籤了。。。
不過怎麼說也是個上上籤,因為珠珠有點迷信的哈,所以抽了這種上上籤應該是很有促進作用的哈
不過樂規樂,學習還是要繼續的,要不以後沒錢養老婆讓老婆跟著受罪,那可是男人的恥辱阿。。。
今天對這個ide中比較重要的部分,**框進行了編寫,我用的是gtk的text_view元件,乙個好的編寫框肯定是需要周圍有滾動條的,要不這麼小的乙個文字框肯定是不夠進行**書寫的了,text_view本生已經具有基本的文字編輯功能,但是當書寫文字超過本生的大小的時候,其自己會自動的進行放大,但是它無限制的放大,會導致真個ide介面的破壞,於是我們必須加個東東對其進行約束,也就是加上所謂的滾動條
在寫這段**之前,我覺得滾動條應該是text_view的乙個屬性,假如設定了就會有,但是在實際的查閱資料中發現,其實是把text_view放到了乙個滾動條容器裡,這樣當text_view放大的時候,滾動條容器就會對根據text_view的大小進行設定,我覺得這個是個很巧妙的方法,呵呵,gtk很聰明啊,呵呵
這個滾動條容器用的是gtkscrolledwindow查閱其mannal可以得到他的所有使用方法,我在這裡對最簡單的使用方法進行舉例說明
建立當然是最初需要做得哈
view_scroll = gtk_scrolled_window_new(null,null);
然後進行設定
gtk_scrolled_window_set_policy(gtk_scrolled_window(view_scroll), gtk_policy_automatic, gtk_policy_automatic);
這樣的設定可以是滾動條進行自動的調整,當然也有別的選擇哈,詳細的請看mannal
然後將text_view元件放到這個設定好的容器裡就可以了
gtk_container_add (gtk_container (view_scroll), view)
最後把view_scroll放到想讓他顯示的地方顯示出來就就可以了哈,很簡單的
以下是我目前的所有**,本來我是習慣用工程編譯的,但是在linux下我還不知道怎麼進行多檔案編譯,慚愧阿,還需要繼續學習哦~
#include
/**************************====*/
/*definition space */
/**************************====*/
#define main_window_width 790
#define main_window_high 590
/**************************====*/
/*the place of fuction declear */
/**************************====*/
gint delete_event(gtkwidget* widget, gdkevent* event, gpointer data);
void init_show(void);
/********************************/
/*global symbol declear */
/********************************/
gtkwidget* main_window;
gtkwidget* window;
gtkwidget* main_menu;
gtkwidget* main_menu_bar;
gtkwidget* main_file_item;
gtkwidget* view;
gtkwidget* table;
gtkwidget* view_scroll;
gtkwidget* main_menu_box;
gtkwidget* project_box;
gtkwidget* debug_box;
gtkwidget* view_box;
gtkwidget* default_box;
gtkwidget* menu_items;
gtkwidget* tmp1;
gtkwidget* tmp2;
gtkwidget* t***;
gtkwidget* tmp4;
int main(int argc, char* argv)
/*******************************===*/
/*a common function to answer the */
/*window_main */
/*******************************===*/
gint delete_event(gtkwidget* widget, gdkevent* event, gpointer data)
gtk_main_quit();
//gtk_widget_destroy(widget);
return false;
}void init_show(void)
高手看了上面的**肯定是充滿鄙視的,其實我也知道,全是全域性變數,明顯的不對哈
而且**的模組話做得也不好,不過我現在是最初接觸gtk程式設計,我還沒有摸清怎樣的模組化會比較清晰,還有就是那些變數需要全域性,那些需要區域性,以及檔案間的私有變數的書寫,還有命名規範等,都還沒有摸索清楚,不過相信我,我會摸索的很快的呵呵,不要鄙視我哈
下一步需要做的就是學會gcc的多檔案編譯,和linux的檔案操作方法了,多檔案編譯好像牽扯到makefile等等的東西,我都不是很懂,所以需要查閱很多的資料,哎~
有點感覺路遙遙其修遠兮的感覺
不過想想珠珠來提提神,感覺不錯哈
以下是執行後的介面哈
linux gtk IDE 程式設計(一)
這段時間一直忙著考研的事情,前段時間為了要去北京參加那個央視的大學生機械人大賽,基本是占用了我所有的時間,我做得是程式設計工作,用的是windows平台,因為這裡 了,為了能夠參加比賽,必須使用自己成熟的技術,所以為了這個目的,我們的機械人用的是成熟的技術,我為此寫了個機械人的虛擬平台,可以 機械人...
Linux程式設計 二 shell程式設計
shell有很多種,linux中常用的是 bin bash,可以通過 bin bash version檢視版本資訊 管道和重定向 重定向輸出 把ls命令的輸出儲存到檔案中 ls l lsoutput.txt 將輸出內容附加到乙個檔案中 ps lsoutput.txt 重定向輸入 意義不大 管道 程式...
swing 程式設計 二
一 由按鈕的處理想到的 有很多的按鈕是不可怕的,可怕的是這些按鈕之間有邏輯關係,實際 要做的是簡化這些關係,把這些關係做到最簡化,盡可能提取出程式的應用邏輯,不要寫死 簡化介面設計,操作簡化,使用簡化,步驟簡化,是最後才去完成的事情 1 設計介面 2 簡化設計介面 3 評審設計 4 修改並簡化設計 ...